kubernetes 60

CKA 예제 리마인더 - 23. Role Based Access Controls

kubectl auth can-i [동사] [resource] ex) kubectl auth can-i create pods external) kubectl auth can-i create deployments --as dev-user external) kubectl auth can-i create deployments --as dev-user --namespace test 설정된 authoriztion mode 확인하세요 확인을 위해서는 먼저 kube-apiserver manifest 확인 필요 cat /etc/kubernetes/manifests/kube-apiserver.yaml spec.cantainers.command 아래의     - --authorization-mode=Node,RBAC 확인..

DevOps 2024.12.12

CKA 예제 리마인더 - 22. Certificates API

csr, key 파일로 CertificateSigningRequest를 만드세요 https://kubernetes.io/docs/reference/access-authn-authz/certificate-signing-requests/Create a CertificateSigningRequest 참조 akshay.yaml 파일 생성 및 붙여넣기apiVersion: certificates.k8s.io/v1kind: CertificateSigningRequestmetadata: name: myuserspec: request: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURSBSRVFVRVNULS0tLS0KTUlJQ1ZqQ0NBVDRDQVFBd0VURVBNQTBHQTFVRUF3d0dZVzVuWld4aE..

DevOps 2024.12.05

CKA 예제 리마인더 - 21. View Certificate Details

openssl x509 -in [crt파일경로] -text -noout x509X.509 형식 인증서를 처리하겠다는 의미입니다.X.509는 SSL/TLS 인증서에 사용되는 표준 형식입니다.-in [crt파일경로]분석할 인증서 파일의 경로를 지정합니다.파일은 일반적으로 .crt, .cer, .pem 확장자를 가집니다.-text인증서의 상세 내용을 사람이 읽을 수 있는 텍스트 형식으로 출력합니다.예: 주체 정보, 발급자 정보, 유효 기간, 사용되는 암호화 알고리즘 등.-noout인증서의 원본(Base64 인코딩된 PEM 형식 내용)을 출력하지 않고, 필요한 정보만 출력합니다.이 옵션이 없으면 인증서 데이터 전체가 출력됩니다.   kubectl 명령어가 작동하지 않는 현상을 픽스하세요 crictl ps -a ..

DevOps 2024.12.02

CKA 예제 리마인더 - 20. Backup and Restore Methods

Backup and Restore Methods ECTD를 백업하세요 Backup ETCD to /opt/snapshot-pre-boot.db 여기서 endpoints, cacert경로, key 경로등의 정보는 etcd 파드를 describe해서 찾자 Containers:   etcd:     Container ID:  containerd://8e2474c50b18ea84448d537cfce89ed9e590230eb53a4ccea8a4ebb9b6b948ce     Image:         registry.k8s.io/etcd:3.5.15-0     Image ID:      registry.k8s.io/etcd@sha256:a6dc63e6e8cfa0307d7851762fa6b629afb18f28d8aa..

DevOps 2024.11.07

CKA 예제 리마인더 - 19. Cluster Upgrade Process

https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/controlplane 노드를 1.31.0 버전으로 업그레이드 하세요 Controlplane Node Upgraded to v1.31.0 Controlplane Kubelet Upgraded to v1.31.0 kubectl drain controlplane --ignore-daemonsets sudo apt update 에러 발생 W: GPG error: https://prod-cdn.packages.k8s.io/repositories/isv:/kubernetes:/core:/stable:/v1.30/deb InRelease: The following signature..

DevOps 2024.11.03

Kubernetes - upgrade 간략한 요약

upgrade 클러스터 업그레이드 kubectl을 제외한 kube-scheduler, controller-manager, kubelet, kube-proxy는 kube-apiserver보다 높은 버전을 가질 수 없다 kubeadm upgrade plan 으로 업그레이드 가능한 버전을 확인할 수 있다 kubeadm 업그레이드 apt-get upgrade -y kubeadm=1.12.0-00 kubeadm upgrade apply v1.12.0 kubelet 업그레이드 kubectl get nodes 의 VERSION에서 버전 확인 가능 apt-get upgrade -y kubelet=1.12.0-00 systemctl restart kubelet 노드 업그레이드 kubectl drain node01 apt..

DevOps 2024.11.03

Kubernetes - upgrade

쿠버네티스 클러스터 업그레이드는 쿠버네티스 버전을 최신 버전으로 올려 안정성, 보안, 성능 향상을 가져오는 과정입니다. 주로 kubeadm 도구를 사용하여 업그레이드하며, 마스터 노드와 워커 노드를 순서대로 업그레이드합니다. 아래는 일반적인 업그레이드 절차입니다.1. 사전 준비버전 확인: 업그레이드할 대상 쿠버네티스 버전을 확인합니다. 쿠버네티스 버전 정책상, 한 번에 1개의 마이너 버전만 업그레이드할 수 있습니다 (예: 1.24에서 1.25로).호환성 확인: 업그레이드할 쿠버네티스 버전과 함께 사용하는 플러그인이나 애드온이 호환되는지 확인합니다.백업: etcd 데이터베이스와 중요한 리소스를 백업해 둡니다.2. 업그레이드 가능한 버전 계획 확인 (kubeadm upgrade plan)bash코드 복사su..

DevOps 2024.11.03

Kubernetes - drain, cordon, uncordon

kubectl drain, cordon, uncordon은 쿠버네티스 노드의 상태를 조정하고 관리하기 위한 명령어입니다. 주로 노드에서 유지보수 작업이나 업그레이드가 필요할 때 사용되며, 파드가 안전하게 옮겨지거나 배치되지 않도록 도와줍니다.1. kubectl cordon기능: 노드를 스케줄링 불가 상태로 만듭니다. 이 상태에서는 새로운 파드가 해당 노드에 스케줄링되지 않습니다.용도: 유지보수가 필요하거나 더 이상 파드를 배포하지 않을 노드를 잠시 제외할 때 사용합니다.예시: 이 명령을 실행하면 해당 노드에 "SchedulingDisabled" 상태가 표시됩니다.kubectl cordon 2. kubectl uncordon기능: cordon 상태에서 해제하여 노드를 스케줄링 가능 상태로 만듭니다.용도: ..

DevOps 2024.11.03

CKA 예제 리마인더 - 18. OS Upgrades

node01 에서 모든 파드를 drain 하세요 kubectl drain node01 >> 에러 발생 error: unable to drain node "node01" due to error: cannot delete DaemonSet-managed Pods (use --ignore-daemonsets to ignore): kube-flannel/kube-flannel-ds-82srt, kube-system/kube-proxy-9ql66, continuing command... There are pending nodes to be drained:  node01 cannot delete DaemonSet-managed Pods (use --ignore-daemonsets to ignore): kube-fl..

DevOps 2024.11.03

CKA 예제 리마인더 - 17. Multi Container PODs

컨테이너 2개를 가진 멀티컨테이너파드를 만드세요 만약 파드가 crashloopbackoff 상태라면 sleep 1000 명령을 레몬 컨테이너에 추가하세요 Name: yellow Container 1 Name: lemon Container 1 Image: busybox Container 2 Name: gold Container 2 Image: redis kubectl run yellow --image=busybox --dry-run=client -o yaml > ./yellow.yaml 생성된 yaml apiVersion: v1kind: Podmetadata: creationTimestamp: null labels: run: yellow name: yellowspec: containers: ..

DevOps 2024.11.02