본문 바로가기

네트워크/k8s

(47)
[k8s] 7. Volume - 실습 Volume 실습 실습을 하려고 하는데... 머선129.. 호스트를 종료했다 다시 시작해서 그래요.. 마스터 노드에서 다음 명령어 실행 nohup kubectl proxy --disable-filter=true --port=8001 --address=192.168.35.30 --accept-hosts='^\*$' >/dev/null 2>&1 & --disable-filter=true 킬포 --disable-filter=true 접속 ㄱㄱ링 1. emptyDir apiVersion: v1 kind: Pod metadata: name: pod-volume-1 spec: containers: - name: container1 image: kubetm/init volumeMounts: - name: empty-..
[k8s] 6. Volume - emptyDir, hostPath, PV/PVC Volume emptyDir, hostPath, PVC/PV에 대해 알아보자 1. emptyDir 컨테이너들끼리 데이터를 공유하기 위해서 볼륨을 사용하는 것 최초 볼륨이 생성될 때 볼륨 내용이 비어있기 때문에 emptyDir로 명명됨 Container1이 web이고 Contaner2가 back-end라 하자 Container1은 웹서버로 받은 특정 파일을 마운트된 Volume에 저장 Container2도 Volume을 이용하여 두 서버가 파일을 주고받을 필요 없이 편하게 사용 가능 이 볼륨은 파드안에 생성되기 때문에 파드에 문제가 생겨 재생성되면 데이터가 없어짐 볼륨에 쓰인 데이터는 꼭 일시적인 사용목적을 가져야 함 Sample YAML apiVersion: v1 kind: Pod metadata: na..
[k8s] 5. Service - 실습 Service 실습 하드에 서비스를 달면 하드가 죽어서 재생성돼도 서비스의 IP로 접근 가능 여기서 진행 1. ClusterIP Pod 생성 apiVersion: v1 kind: Pod metadata: name: pod-1 labels: app: pod spec: nodeSelector: kubernetes.io/hostname: k8s-node1 containers: - name: container image: kubetm/app ports: - containerPort: 8080 ClusterIP 생성 apiVersion: v1 kind: Service metadata: name: svc-1 spec: selector: app: pod ports: - port: 9000 targetPort: 808..
[k8s] 4. Service - ClusterIP, NodePort, LoadBalancer Service 서비스는 자신의 클러스터 아이피를 가지고 있음 서비스를 파드에 연결하면 서비스의 아이피를 가지고 파드에 접근 가능 파드에도 똑같이 클러스터 내에서 접근 가능한 아이피가 존재 그럼 왜 서비스 아이피가 필요한가? --> 파드는 k8s에서 언제든지 뒈질 수 있고 다시 생성돼어야 함 파드는 재생성되면 아이피가 변하기 때문에 신뢰성이 떨어짐 서비스 아이피는 사용자가 지우지 않는 한 변하지 않음 서비스의 종류는 다양함 1. ClusterIP 쿠버네티스 클러스터 내에서만 접근 가능 --> 파드랑 똑같음 외부에서 접근 불가능 클러스터 내 여러 파드와 연결 가능 여러 대의 파드와 연결하면 서비스가 트래픽을 분산하여 파드와 연결시킴 Sample YAML apiVersion: v1 kind: Service m..
[k8s] 3. Pod - 실습 Pod 실습 한 파드에 여러 컨테이너를 생성하는 실습 두 개의 컨테이너가 있음 하나는 이미지가 p8000으로 8000으로 접속 다른 하나는 p8080 1. 파드 생성 여기서 진행 +생성 버튼 클릭 아래 YAML 복붙 후 업데이트 클릭 apiVersion: v1 kind: Pod metadata: name: pod-1 spec: containers: - name: container1 image: kubetm/p8000 ports: - containerPort: 8000 - name: container2 image: kubetm/p8080 ports: - containerPort: 8080 생성중인 pod-1 클릭 상세에서 IP 확인 상태는 Running IP는 서비스 없이 이 파드에 접근할 수 있는 IP ..
[k8s] 2. 쿠버네티스 설치 쿠버네티스 구성 Usecase Case 1 집에 안 쓰는 노트북에 CentOS를 깔고 KVM을 설치 Case 2 현재 쓰는 노트북에 VirtualBox로 VM 3개 Case 3 구글클라우드를 이용해서 사용 Case 2로 ㄱㄱ Case 2 구성 Host OS: Windows 메모리 12G, CPU 4 Core, Disk 500GB로 가정 Guest OS는 4G, 2 Core, 150GB 구성 Guest에 설정 좀 하고 Kubernetes, Docker를 설치 위 Guest OS를 2개 복사 --> 총 3개의 node, 12G, 6 Core, 450GB 마지막으로 필수 네트워킹 관련 내용과 대시보드 설치 1. Virtualbox, CentOS, MobaXterm 설치 Virtualbox CentOS --> ..
[k8s] 1. Pod - Container, Label, NodeSchedule Pod의 특징을 알아보자 첫 번째 특징 - Container 파드에는 하나의 독립적인 서비스를 구동할 수 있는 컨테이너가 있음 컨테이너는 포트를 가지고 있고, 한 컨테이너가 포트를 하나 이상 가질 수 있음 하지만 파드 내 컨테이너끼리 포트가 겹치면 안 됨 컨테이너끼리는 포트로 접속 가능 파드가 생성될 때 고유의 IP 주소 할당 쿠버네티스 클러스터내에서만 접근 가능, 외부는 불가능 파드에 문제가 생길 시, IP주소 변경됨 --> 휘발성이 있음 Sample YAML apiVersion: v1 kind: Pod metadata: name: pod-1 spec: containers: - name: container1 image: kubetm/p8000 ports: - containerPort: 8000 - na..