⭐ Kubernetes & EKS (140) 썸네일형 리스트형 쿠버네티스 Create VS Apply 차이점 쿠버네티스 공부를 하던 중 Pod을 생성할 때 명령어가 두 가지가 존재하여, 무엇이 차이가 있는지 찾아보았습니다. command 리소스가 존재하지 않을 경우 리소스가 이미 존재할 경우 create 새로운 리소스가 생성됩니다. ERROR가 발생합니다. apply 새로운 리소스가 생성됩니다. 리소스를 구성합니다. (부분적인 spec을 적용합니다.) replace ERROR가 발생합니다. 리소스가 삭제된 뒤 새롭게 생성됩니다. create VS apply create 명령은 각 리소스의 구성이 그 구성파일 내에 완전하게 정의되고 기록된 경우 잘 작동합니다. 하지만 리소스가 업데이트 되고, 업데이트 내용이 구성파일 안에 병합되지 않으면, 업데이트 내용은 다음 replace가 될 때 삭제됩니다. 동일 리소스에 대.. 쿠버네티스 주요명령어 모음 # 해당 pod가 어느 node에 있는지 확인하기 kubectl get pod -o wide ec2-user:~/environment/yaml $ kubectl get pod -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES deploy-jenkins-7dcdf75b94-7zrjx 0/1 Pending 0 54m deploy-jenkins-7dcdf75b94-gngq8 0/1 Pending 0 62m deploy-jenkins-7dcdf75b94-hbr5l 0/1 Pending 0 58m deploy-jenkins-7dcdf75b94-r2tq4 0/1 Pending 0 62m deploy-jenkins-7dcdf75.. EKS 리소스 삭제(Delete) pod 전체 삭제 및 개별삭제 - 전체삭제 : kubectl delete pod --aa - 개별삭제 : kubectl delete pod [#podname] ec2-user:~/environment $ kubectl delete pod --all pod "deploy-jenkins-6996c6559c-fd6zh" deleted pod "deploy-jenkins-6996c6559c-g58xb" deleted pod "deploy-jenkins-6996c6559c-rzbll" deleted pod "hello-1633752000-snhmt" deleted pod "hello-1633752060-hwk68" deleted pod "hello-1633752120-2824n" deleted pod "hello.. EKS 점검사항 1) 쿠버네티스 pod 로그보기 명령어 : kubectl logs [#pod name], kubectl logs -f [#pod name] - kubectl get pod 명령어를 통해 pod NAME 을 확인할 수 있습니다. ec2-user:~/environment/yaml $ kubectl get pod NAME READY STATUS RESTARTS AGE deploy-jenkins-6996c6559c-2q9sl 1/1 Running 0 42m deploy-jenkins-6996c6559c-68d4w 1/1 Running 0 42m deploy-jenkins-6996c6559c-wrjnf 1/1 Running 0 42m nginx-ingress-1633598365-controller-9fd8986d.. EKS Deployment Manifest # YAML 형식의 리소스 매니페스트 kubectl run 명령어로 해당 서비스를 수행하는것도 문제가 되지 않는다. 허나, 관리 및 재사용 목적으로 서비스를 조금 더 유연하게 사용하고자 한다면 deployment를 활용하는것이 바람직하다. yaml 파일로 작성하고, 만약 버전의 변경이나 업데이트가 된다면 yaml내용만 수정하여 다시 배포하면 자동으로 변경된 내용이 적용되기 때문에 관리가 편리해진다. # 실행파일 생성 vim jenkins-deploy.yaml - 아래의 내용을 작성하고 저장하자. apiVersion: apps/v1 kind: Deployment metadata: name: deploy-jenkins labels: app: jenkins-test spec: replicas: 3 select.. 쿠버네티스 주요 명령어 설명 - kubectl help 를 입력하면 아래와 같이 명령어들의 설명을 볼 수 있다. kubectl controls the Kubernetes cluster manager. Find more information at: https://kubernetes.io/docs/reference/kubectl/overview/ Basic Commands (Beginner): create Create a resource from a file or from stdin. expose Take a replication controller, service, deployment or pod and expose it as a new Kubernetes Service run Run a particular image on the c.. EKS pod, nodes 의 자원 모니터링 (kubectl top) # (추가 오류사항) EKS 에서는 설치에 문제가 없었으나, Hyper-V에서 설치 시 문제가 발생 하였다. - 바로 아래의 에러 메세지 이다. no matches for kind "APIService" in version "apiregistration.k8s.io/v1beta1" - 삭제 명령어 실행 kubectl delete -f https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.3.7/components.yaml - 실행 명령어 실행 kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml.. EKS Liveness Probe, Readiness Probe, Startup Probe - 라이브니스 프로브 : 컨터이너 상태를 파악하고 문제가 있으면 다시 시작하는 기능 - 레디니스 프로브 : 포드가 준비된 상태인지 확인, 정상 서비스를 시작하는 기능, 포드가 정상적으로 준비되어 있지 않으면 로드 밸런싱을 하지 않음 - 스타트업 프로브 : 컨테이너가 시작될때 정상적으로 실행되는지 체크 후 라이브니스와 레드니스의 서비스가 진행된다. # 라이브니스 프로브 실습 내용을 yaml 파일로 생성하기 vim exec-liveness.yaml apiVersion: v1 kind: Pod metadata: labels: test: liveness name: liveness-exec spec: containers: - name: liveness image: k8s.gcr.io/busybox args: - .. 이전 1 ··· 7 8 9 10 11 12 13 ··· 18 다음