k8s 개발 도구 도입 배경 k8s를 사용하면서 개발할 때 디버깅이 어려웠습니다. 예를 들어서, 로컬에서 소스코드를 변경하고 그 변경분을 쿠버네티스 클러스터에 반영하려고 할 때, 쉽게 변경하기가 어려웠습니다. 1. 로컬에서 소스코드 업데이트 2. 도커로 이미지 빌드 3. 쿠버네티스에 배포 이런 과정을 거쳐서 업데이트 하려면, 도커 이미지 빌드와 푸쉬하는 것에만 시간이 많이 걸리기 때문에 개발 속도가 매우 느리다고 생각했습니다. 다른 몇 가지 방법들로 그 시간들을 좀 단축시킬 수는 있지만, monolith환경처럼 편하게 개발하기가 매우 어려웠습니다. skaffold 시도 그러던 중, k8s 개발 도구 중에서 skaffold가 가장 유명하다고 주변에서 들어서 skaffold를 시도해 보려고 했습니다. 위와 ..
예시 service.yaml 파일 apiVersion: v1 kind: Service metadata: name: mynginx annotations: service.beta.kubernetes.io/vultr-loadbalancer-protocol: "http" spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: mynginx 위와 같이 annotations를 구성하고 deploy하면 load balancer가 외부 ip로 연결됩니다. References https://www.vultr.com/docs/how-to-use-a-vultr-load-balancer-with-vke/
k8s 서버 띄우기 공부 목적으로 서버를 띄우고 구성하고 싶었습니다. 그런데, EC2같은 곳에는 하나하나 접속해서 배포하고 하는 과정이 복잡한 것 같아서 배포 과정 단순화를 위해서 kubernetes cluster를 사용하고 싶었고, kubernetes 관련 지식은 있는 상태였습니다. (6개월 정도의 짧은 kubernetes 운용 경험 + CKAD, CKA 자격증) 공부목적의 운영인데 과도한 비용 - 월 10만원 aws나 gcp를 이용해서 구축을 하게 되면 master node 관리에 필요한 비용만 하더라도 월 8만원 정도 나가는 상태이기 때문에, 너무 비싸다고 생각했습니다. 이것저것 하면 공부 목적으로 운영하는 클러스터인데 월 10만원씩 나가는 셈이기 때문에 너무 지출이 크다고 생각했습니다. VULTR..
공부 방법: CKA, CKAD Udemy 강의 (다른 것은 볼 필요도 없을 정도로 강의 양이 꽤 많고, 상세했음) 공부 기간: CKA(2주) + CKAD(1주) 후기: 1) 쿠버네티스의 내부 원리를 자세히 배울 수 있어서 좋았음 2) CKA&CKAD를 체계적으로 공부하지 않은 상태에서 운용했을 때는 막히는 부분들이 많았는데, 그 때 생겼던 궁금한 점들이 상당수 해소됨 3) 쿠버네티스가 학습할 양이 꽤 많아서, 한 번쯤은 체계적으로 배워보는 것이 도움이 되는 느낌 [CKA 1일차] - 명령어 정리 [CKA 2일차] - 스케쥴링 [CKA 3일차] - 로깅, 롤링 업데이트 명령어 정리 [CKA 4일차] - Application Life Cycle [CKA 5일차] - 클러스터 관리(백업 및 복구) [CKA 6..
kubelet은 masternode의 advertise address를 보고 통신을 시도하기 때문에, 사실 큰 영향이 없습니다. 만약 swap 메모리 영역이 다시 잡혔기 때문에 kubelet service가 동작하지 않는 거라면, service kubelet status 로 상태확인을 해보고, sudo swapoff -a 로 swap 메모리를 할당 해제해주면 정상동작합니다.