고전적인 배포 환경 : 애플리케이션 배포 환경에 맞게 개발자가 일일이 코드 수정하고 빌드하고 배포해야 함-> 컨테이너 상에서 동작하는 애플리케이션은 컨테이너 환경에 맞게 배포하면 되며, 컨테이너 이미지를 이용해 쿠버네티스 환경에서 일관성 있게 애플리케이션 배포 가능 CI : Continous Integration코드 커밋, 빌드 시 정상적으로 동작하는 지 반복적으로 검증해 애플리케이션의 신뢰성을 높히는 작업CD : Contunous DeploymentCI 과정에서 생성된 애플리케이션을 실제 사용 환경에 자동으로 배포하는 것 컨테이너로 구동하는 애플리케이션 배포 방식1. github 등 저장소에 저장한 애플리케이션 소스코드를 내려받아 도커 컨테이너 이미지로 빌드2. 이미지를 쿠버네티스에서 사용하도록 레지..

service : 쿠버네티스 외부에서 쿠버네티스 클러스터에 접속하는 방법 NodePort : 모든 워커 노드의 특정 포트를 열고, 해당 포트로의 요청을 노드 포트 서비스로 전달한다. 노드 포트 서비스는 해당 요청을 처리할 수 있는 파드로 요청을 전달한다. 파드는 요청에 대한 응답을 전송한다. ref : https://zesty.co/finops-glossary/nodeport-in-kubernetes-a-glossary-overview/ What Is NodePort in Kubernetes? Everything You Need to KnowNodePort Services in Kubernetes expose apps externally, their port range, best use cases, d..

기존에 작업 중이던 virtualbox + vagrant로 쿠버네티스 환경 프로비저닝 + 쿠버네티스로 이것저것 해보기에 난관이 생겼다. 쿠버네티스 환경 자체에는 문제가 없지만, virtualbox 상의 네트워크 설정 중 virtualbox 7 버전과 구형 mac 간의 네트워크 설정에 문제가 있어, 삽질하면서 해결하다가 docker desktop에서도 멀티 노드 구성이 가능해졌다는 것을 발견했다. docker desktop 4.38 이상 버전에서 kubeadm 대신 kind를 이용하여 멀티 노드 환경 구축이 가능하다. https://docs.docker.com/desktop/features/kubernetes/ Deploy on KubernetesSee how you can deploy to Kubern..
파드 생성kubectl run --image=(이미지는 docker hub 등 설정된 레포에서 가져옴) deployment 그룹의 파드 생성kubectl create deployment --image= deployment 그룹의 파드 레플리카 생성kubectl scale deployment --replicas=vagrant@m-k8s:~$ kubectl get podsNAME READY STATUS RESTARTS AGEdpy-nginx-58b7459b9f-8hh88 1/1 Running 0 8m7sdpy-nginx-58b7459b9f-llfbw 1/1 Running ..
kubectl은 kubeadm init 시, master node에서 실행이 가능하다. 이 때 /etc/kubernetes/admin.conf 파일이 생성된다. 하지만 실제 kubectl은 마스터 노드 이외의 워커 노드에서도 동작할 수 있다. admin.conf 파일을 워커 노드에 복사 후, 워커 노드에서 kubectl 실행 시 정상 동작한다. 아래는 마스터 노드의 /etc/kubernetes/admin.conf를 워커 노드의 ./ 에 복사 후, kubectl 명령을 내린 결과이다. conf 파일 명시를 위해 --kubeconfig 옵션을 추가한다. vagrant@w3-k8s:~$ kubectl get nodes --kubeconfig admin.confNAME STATUS ROLES ..