kube 15

Kube Project 수행 시 필요한 Tool Set List

지난 번 모 고객사 Kube 교육 중 문의하셔서 실제 Kube PJT 진행 시 필요한 업무를 Skill Set과 함께 순서대로 나열해 보았습니다. 제가 현재 사용 중인 Tool Set List라 빠진 부분이 많겠지만 참고 용도로 보시면 될 것 같습니다. Kube 설치 : KubeSpray (or k3s) ~/.kube/config 수정을 통한 원격 클러스터 관리 : VSCode, WSL, Window Terminal 기본 Kube Scheduling 기능 검증 : Desired State Kube Tool 이용 : kubeps, kubens, kubectx Custom 컨테이너 이미지 Build : Docker, dockerfile Docker 이미지 Push 할 로컬 이미지 Registry 설정 및 이..

10. Kube 교육 - Kube Storage(PV PVC SC)

실습 PVC 생성 후 Deployment POD Volume 연결 Statefulset POD Volume 연결 Why PV PVC? Kube 환경은 VM과 다르게 default로 data가 pod에 저장되지 않고 pod 재기동(restart가 아니고 terminate되고 신규 pod가 재생성되죠)되면 data가 사라집니다. 단어가 어려워 쉽게 와닿지 않는 ephemeral storage(임시 저장소)라고 합니다. [spkr@erdia22 junghoon2.github.io (spkn02:nginx)]$ k exec -it busybox-6d8496d56f-z4mf2 -- sh / # touch aaa bbb ccc / # ls aaa bbb bin ccc dev etc home proc root sys..

08. Kube 교육 - NodePort, LoadBalancer

실습 Nodeport 사용하여 외부에서 POD 접속해 보세요 : nodeport 를 특정 Port로 지정해 보세요. MetalLB 설치 LoadBalancer 사용하여 POD 접속하기 LoadBalancer IP를 특정 IP로 할당하고 동일 IP로 2개의 Protocol(TCP, UDP)를 할당해 보세요 Why NodePort, LoadBalancer? NGINX 웹 서버를 설치하고 나면 당연히 내 PC에서 웹 서버로 정상적으로 접속이 되는지 검증하고 싶습니다. 하지만 Kube POD는 노드 안에서 실행되는 거라 노드 안에 있는 POD를 외부에서 바로 접속할 수 있는 방법이 없습니다. (D-NAT 등의 추가 네트워크 설정이 필요합니다.) 노드의 IP와 POD의 IP는 서로 다른 대역이라 다이렉트 통신이 ..

07. Kube 교육 - Service Discovery

실습 NGINX Service를 생성해 보세요. Service 적용 후 Endpoint가 제대로 생성되었는지 확인해 보세요. 기존 POD를 Delete 후 Service 연결을 검증해 보세요. 복수의 POD를 실행하여 POD Load Balancing 기능을 검증해 보세요. Why Service Discovery Kube는 기본 철학(?)이 POD는 항상 죽을 수 있다 입니다. 기존 POD가 죽고 나서 새로 생성되는 POD는 IP, Hostname 등 환경 정보가 기존 POD와 다릅니다. (재시작이 아니라 새로운 POD가 생성입니다.) 이 때 POD 간 통신이 IP 기반이라면 Client 단에서 일일이 새로운 IP를 추가해야 하므로 관리가 불가능합니다. 그리고 기존 POD를 이중화하여 새로운 POD가 추..

05. Kube 교육 - YAML 기본 문법

실습 기존 실행 중인 Deploy, POD를 YAML File 형태로 Export 하세요. k neat 사용해 보세요 YAML 파일 이용하여 Busybox Deploy 배포 하세요. Why YAML? Kubernetes 에서는 모든 Object(pod, service, ConfigMap 등)가 Code로 관리 됩니다. 이 Code는 YAML File 형식으로 apply(적용), Export(추출) 가능합니다. 기존에는 System Engineer가 명령어로 Application 설치하고 네트워크/스토리지 연결 하였다면 Kube 환경에서는 그 모든 행위를 YAML File, 코드로 수행합니다. 따라서 YAML(YAML 문법이겠죠)에 반드시 익숙해 져야 합니다. (system engineer 된 후 code..