DevOps 61

graceful shutdown

Kubernetes에서 파드를 삭제할 때 기본적으로 graceful termination(우아한 종료)이 적용됩니다. 기본적으로 kubectl delete pod 명령어를 실행하면 **30초(default) 동안 종료 신호(SIGTERM)**를 보내고, 이 시간이 지나면 강제 종료(SIGKILL)됩니다.만약 graceful termination을 없애고 즉시 삭제(force delete) 하고 싶다면, --force --grace-period=0 옵션을 사용하면 됩니다.즉시 삭제 명령어 kubectl delete pod --grace-period=0 --force설명--grace-period=0기본적으로 kubectl delete pod는 terminationGracePeriodSeconds에 설정된 ..

DevOps 2025.01.30

CKA 예제 리마인더 - 39. Lightning Lab - Cluster Upgrade

컨트롤 플레인 노드에서:Kubernetes apt 저장소를 정의하는 파일을 수정 vim /etc/apt/sources.list.d/kubernetes.list URL의 버전을 다음 사용 가능한 마이너 릴리스인 v1.31로 업데이트한다. deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.31/deb/ / controlplane을 업그레이드하기 전에 drain 진행 및 kubernetes 패키지 확인kubectl drain controlplane --ignore-daemonsetsapt update apt-cache madison kubeadm35 packages can be upgr..

DevOps 2025.01.15

CKA 예제 리마인더 - 36. Worker Node Failure

node01 노드의 issue를 fix 하세요 controlplane ~ ➜  ssh node01 Welcome to Ubuntu 22.04.4 LTS (GNU/Linux 5.15.0-1072-gcp x86_64)  * Documentation:  https://help.ubuntu.com * Management:     https://landscape.canonical.com * Support:        https://ubuntu.com/proThis system has been minimized by removing packages and content that are not required on a system that users do not log into. To restore this con..

DevOps 2025.01.11

/var/libe/kubelet/config.yaml 과 /etc/kubernetes/kubelet.conf 차이

/var/lib/kubelet/config.yaml와 /etc/kubernetes/kubelet.conf는 모두 Kubernetes에서 kubelet의 동작을 설정하는 파일이지만, 이 두 파일은 서로 다른 역할과 내용을 가지고 있습니다.1. /var/lib/kubelet/config.yaml역할: kubelet의 구성(config) 파일로, 클러스터 내부에서 kubelet의 동작 방식을 정의합니다.주요 내용:kubelet의 실행 파라미터나 설정 옵션이 포함됩니다.주로 다음과 같은 항목을 포함합니다:authentication: API 서버와의 인증 방법 설정.authorization: 권한 제어 설정.cgroupDriver: cgroup 드라이버 설정.evictionHard: 리소스 부족 시 Pod을 제거..

DevOps 2025.01.11

CKA 예제 리마인더 - 35. Control Plane Failure

application의 deploy에 문제가 있습니다. cluster의 issue를 fix하세요 controlplane ~ ➜  kubectl get all -A NAMESPACE      NAME                                       READY   STATUS              RESTARTS     AGE default        pod/app-776bb5c68f-jgxr2                   0/1     Pending             0            46s kube-flannel   pod/kube-flannel-ds-7ppwx                  1/1     Running             0            88..

DevOps 2025.01.11

CKA 예제 리마인더 - 34. Application Failure

예제는 해당 아키텍처를 기반으로 풀어야함 alpha 네임스페이스의 issue를 fix 하세요 Environment Variables: DB_Host=mysql-service; DB_Database=Not Set; DB_User=root; DB_Password=paswrd; 2003: Can't connect to MySQL server on 'mysql-service:3306' (-2 Name does not resolve) 에러 메시지를 보니 mysql-service:3306 으로 접속이 원활하지 않다 controlplane ~ ➜  kubectl config set-context --current --namespace=alpha Context "default" modified. 일단 귀찮으니 네임스페..

DevOps 2025.01.10

CKA 예제 리마인더 - 33. Cluster Installation using Kubeadm

kubeadm과 kubelet을 controlplane과 node01 노드에 설치하세요 Use the exact version of 1.31.0-1.1 for both cat net.ipv4.ip_forward = 1 EOF sudo sysctl --system sysctl net.ipv4.ip_forward sudo apt-get update sudo apt-get install -y apt-transport-https ca-certificates curl gpg curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.31/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg..

DevOps 2025.01.09