Cloud 85

[CKA] 47. k8s 문제 풀이 모르는 것 정리

image 교체 kubectl set image deployment/ngin-deploy nginx=nginx:1.17.1 nginx : container name nginx:1.17.1 : image name JSONPath를 요약해서 보기 kubectl get node -o json | jq -c 'paths' 또는 kubectl get node -o json | jq 'paths | join(".")' Pod volume emptyDir의 용도 emptyDir은 쿠버네티스(Kubernetes)에서 사용되는 일시적인 볼륨 유형으로, 파드(Pod)에 대한 임시 저장 공간을 제공합니다. emptyDir 볼륨의 주요 용도는 다음과 같습니다: 데이터 공유 및 통신: 파드 내의 서로 다른 컨테이너 간에 데이터..

Cloud/k8s-CKA 2023.11.17

[CKA] 46. k8s 문제 풀이(업데이트, 출력형식, PV)

개요 k8s 업데이트하는 방법 및 출력 방식 변경을 알아보겠습니다. 핵심 1. kubeadm으로 cluster update 2. kubelet update 3. update할 node는 drain을 통하여 pod를 안전한 곳에 이동 controlplane 업데이트 Pod를 모두 다른 node로 이동 kubectl drain controlplane --ignore-daemonsets daemonsets는 자동으로 drain 되지 않음으로 --ignore-daemonsets 을 주어서 강제로 내려야 합니다. package 업데이트 apt update 업데이트 가능 package 확인 apt-cache madison kubeadm kubeadm update kubeadm 자동 업데이트 풀기 apt-mark u..

Cloud/k8s-CKA 2023.11.15

[CKA] 45. Troubleshooting

개요 k8s를 사용하면 마주칠 수 있는 문제점 및 해결 방법을 알아보겠습니다. Application 접속 실패 확인 접근성 확인을 통하여 application의 실패 원인을 찾는다. 환경 단계 1. curl로 접속을 확인 2. service의 selector 확인 selector가 맞게 되었는지 확인. 웹 접속이 잘되면 web service는 정상 동작 하는 것이다. kubectl get service -o yaml > service.yaml 로 확인 후 수정 하는 것도 좋다. 3. Pod의 상태 확인 Pod의 State 확인 Pod의 describe 확인 Pod의 Log 확인 현재 Pod의 Log확인 이전 Pod의 Log확인 -f --previous 로 이전 Pod Log 확인 통신 안될때 확인 사항 ..

Cloud/k8s-CKA 2023.11.07

[CKA] 44. network policy

개요 k8s에서 network ploicy를 사용하여 network 보안을 어떻게 처리하는지 알아보겠습니다. Network Policy란? network 방향 및 port를 기반으로 cluster 내부의 Pod들 간의 network traffic을 제어하는 object입니다. 하지만 ipblock 설정을 통해서 cluster 외부와의 통신을 허용해 줄 수는 있습니다. NetworkPolicy 자체는 외부 IP 주소를 직접 차단하는 메커니즘을 제공하지 않습니다. 아래 그림으로 설명을 하면 Web Pod , API Pod , DB Pod가 서로 통신하고 있는 상태입니다. 이 상태에서 DB Pod에서 API Pod의 요청만 받고 싶을 때는 Network Policy를 DB Pod에 적용하여 3306에 대한 i..

Cloud/k8s-CKA 2023.11.05

[CKA] 43. k8s 각종 보안 (image, securityContext)

개요 k8s에서 사용되는 각종 보안을 image, securityContext 알아보겠습니다. image 보안 k8s에서 image를 pull로 받아 올 때 대분 docker hub를 사용합니다. 그러나 대외비로 작성된 image의 경우 따로 Private Repository를 만들어서 사용합니다. 본 post에는 private repository 구성부터 k8s에서 어떻게 사용할 수 있는지 알아보겠습니다. private repository 구성 방법은 아래 post 확인 부탁 드립니다. [docker] docker registry-image 서버 구축 private repository login docker login private-registry.io private repository image 주소..

Cloud/k8s-CKA 2023.11.05

[CKA] 42. service account

개요 k8s에는 2개의 계정분류가 존재합니다. 1. user account - 사람이 k8s관리는 위해서 사는 계정 2. service account - k8s service가 k8s에 무언가 요청을 하기 위해서 사용하는 게정 위 두 종류 계정 중. user account은 지난번 Post([CKA] 38. k8s에서 사용자 추가 및 권한 제어)를 참고하시면 되시고요. 이번 Post에서는 service account가 무엇인지 살펴보겠습니다. 용도 K8s의 Service Account는 주로 Pods, system components 등이 Kubernetes API와 상호작용할 때 사용하는 계정입니다. 그러면 이제부터 Service Account에 대하여 상세하게 알아보겠습니다. 개념 Service Ac..

Cloud/k8s-CKA 2023.11.04

[CKA] 41. Authorization (권한부여)

개요 k8s은 Authorization을 통하여 사용자가 할 수 있는 것을 제한하고 있습니다. 그래서 이번에는 Authorization의 종류 및 사용법을 알아보겠습니다. Authorization mechanism 종류 k8s에서는 Authorizaion을 위하여 6개의 mechanism을 제공합니다. Node Authorization node authorizion은 kubelet이 API 서버에 요청할 때 사용됩니다. 이 mechanism은 kubelet이 자신에게 할당된 resource에만 access 할 수 있도록 제한합니다. ABAC (Attribute-based access control) ABAC는 속성 기반의 권한 부여 방식입니다. 정책 파일에서 정의된 속성 조합을 기반으로 요청이 허용되는지..

Cloud/k8s-CKA 2023.10.28

[CKA] 40. API 그룹과 목적

개요 k8s에서 제공하는 apiserver의 api 그룹과 api 사용 시 필요한 인증을 알아보겠습니다. API 그룹 k8s에서는 cluster관리를 위해서 다양한 API를 제공합니다. 그리고 이러한 API를 용도에 맞게 분류해 놓았습니다. https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#api-overview Kubernetes API Reference Docs API Overview Welcome to the Kubernetes API. You can use the Kubernetes API to read and write Kubernetes resource objects via a Kubernetes API endpoint...

Cloud/k8s-CKA 2023.10.28

[CKA] 39. kubeconfig 구조 분석 및 관리

개요 k8s의 설정 파일인 kubeconfig의 구조 분석 및 필요 성을 알아보겠습니다. 파일의 위치 kubeadmn으로 설치를 하였다면 kubeconfig파일의 위치는 아래와 같습니다. 원본 파일 /etc/kubernetes/admin.conf 복사된 파일 kubectl은 기본적으로 아래 경로에있는 설정 파일을 사용합니다. 그래서 kubeadm로 설치시 마지막에 원본파일을 아래 경로에 복사하게 합니다. $HOME/.kube/config kubeconfig 목적 kubectl이 다양한 사용자 및 cluster의 조합을 사용하여 k8s 접근을 위해서 사용하는 설정 파일입니다. kubeconfig 주요 정보 cluster 연결 정보 제공 cluster의 API 서버 주소 및 CA 인증서 정보를 제공합니다. ..

Cloud/k8s-CKA 2023.10.26

[CKA] 38. k8s에서 사용자 추가 및 권한 제어

개요 k8s에서 사용자를 추가하는 방법을 알아보고 사용자의 권한을 제한하는 방법을 알아보겠습니다. 그럼 사용자를 생성하는 방법부터 시작하겠습니다. 핵심 csr을 이용하여 CertificateSigningRequest를 적용한 후 승인 한다. 이때 csr은 base64로 인코딩된것을 사용한다. 사용자 추가 절차 1. 개인키 생성 2. csr 생성 3. CertificateSigningRequest Object 생성 이때 csr을 base64 로 인코딩한 값을 사용합니다. 4. CertificateSigningRequest Object 승인 승인은 contoller-manager에서 담당합니다. 5. 승인된 CertificateSigningRequest Object에서 승인된 인증서 가져오기 6. 승인된 인..

Cloud/k8s-CKA 2023.10.15