Cloud 84

[CKAD] 환경 변수 Configmap 과 Secret 사용하기

개요 container 환경 변수를 사용하는 방법을 알아보겠습니다. 환경 변수 사용방식 환경 변수를 사용하는 방법에는 총 3가지의 방법이 아래 와같이 존재합니다. Environment Variable ConfigMap Secret Environment Variable env 필드에서 key-value 형식으로 사용됩니다. 아래에서 밖같 박스 부분이 환견 변수를 사용한 부분이며, 환경 변수를 container 하위에서 설정하면 됩니다. Configmap 개요 사용 이유 container에 영향을 주는 환경변수를 외부에서 관리함으로써 container의 실행 환경을 제어할 때 사용합니다. 사용 절차 1. configmap 생성 2. configmap 확인 3. configmap 사용방법 제한 사항 confi..

Cloud/k8s-CKAD 2024.01.30

[CKAD] Dockerfile과 yaml 실행 필드 관련 관계

개요 dockerfile의 실행 관련 필드들이 yaml에서 어떻게 연관되는지 알아보겠습니다. 연관 관계 Dockerfile(좌)의 ENTRYPOINT과 CMD 옵션이yaml(우)에 command와 args로 override 됩니다. 주의 사항 1. Dockerfile에 ENTRYPOINT와 CMD 필드가 있는데 yaml에 command만 있으면 어떻게 되는가? [Dockerfile] ENTRYPOINT ["/bin/myapp"] CMD ["defaultarg"] [yaml] command: ["/bin/otherapp"] 이 경우, Kubernetes YAML 파일의 command 설정은 Docker 이미지의 ENTRYPOINT를 재정의합니다. 그러나 args가 지정되지 않았기 때문에, Docker 이미..

Cloud/k8s-CKAD 2024.01.29

[CKAD] Dockerfile의 모든것

개요 Dockerfile을 이용하여 할 수 있는 모든 것을 알아보겠습니다. Dockerfile이란? container image를 만들기 위한 명령어들의 나열입니다. Dockerfile의 구조 Dockerfile은 Docker 이미지를 만들기 위해 사용되는 텍스트 문서로, 이미지를 생성하기 위한 명령어들의 집합을 포함하고 있습니다. 구조는 다음과 같습니다: 필수 FROM CMD or ENTRYPOINT 모든 설정 #FROM : 베이스 이미지를 지정합니다. # 예를 들어, `FROM ubuntu:18.04`는 Ubuntu 18.04 이미지를 베이스로 사용하겠다는 것을 의미합니다. FROM ubuntu:18.04 #LABEL : 이미지에 메타데이터를 추가합니다. LABEL maintainer="name@ex..

Cloud/k8s-CKAD 2024.01.10

[k8s] calico - multiple nic + metallb 사용법

개요 calio + metallb에서 multple nic 사용법을 정리 합니다. NIC 환경 controlplane nic1(ens33) : 1.1.0.0/16 nic2(ens35) : 172.10.1.1/16 woker node1 nic1(ens33) : 1.1.0.1/16 woker node2 nic1(ens33) : 1.1.0.2/16 woker node3 nic1(ens33) : 1.1.0.3/16 Calico 배포 위 NIC 환경에서 calico를 배포하면 controplane쪽이 정상 동작을 하지 않습니다. 로그를 보면 BGP 통신이 cluster IP가 아닌 다른 IP를 사용해서 그런것으로 판단이 됩니다. W1208 05:14:22.290398 240 feature_gate.go:241] ..

Cloud/k8s 2023.12.08

[k8s] trouble shooting

재부팅후 node가 NotReady인 경우 hostname 확인 구축 당시 hostname이 k8s-controlplane이 이거였는데 my-k8s-controlplane 이걸로 변경되어 안된다는 말입니다. Log 확인 명령어 journalctl -u kubelet.service -f 문제의 로그 Nov 29 09:12:08 my-k8s-controlplane kubelet[1463]: E1129 09:12:08.248902 1463 controller.go:146] "Failed to ensure lease exists, will retry" err="leases.coordination.k8s.io \"my-k8s-controlplane\" is forbidden: User \"system:node:k..

Cloud/k8s-CKA 2023.11.29

[k8s-deep dive] OCI 란?

개요 OCI (Open Container Initiative) 가 무엇인지 알아보겠습니다. OCI 정의 Open Container Initiative (OCI)는 프로젝트입니다. 이 프로젝트는 container 기술과 관련된 표준을 개발하고 관리하는 것을 목표로합니다. OCI에서 관리된는 표준은 아래 3가지 이며 https://github.com/opencontainers 관리가 되고 있습니다. runtime-spec 참조 사이트 https://github.com/opencontainers/runtime-spec GitHub - opencontainers/runtime-spec: OCI Runtime Specification OCI Runtime Specification. Contribute to ope..

Cloud/k8s 2023.11.21

[CKA] 49. CKA 시험 후기

개요. 2023.11.19 시험 나온 시험 문제. killer.sh의 문제 수준보다 살짝 쉽게 나옴. 살짝 쉽다는 말은 문제의 형식은 killer.sh 형식인데. 결과에 대해서 명확하게 어떻게 하라고 적혀있음. 그리고 전 범위에서 섞여서 고루고루 나오기 때문에 뭐하나 거를것이 없다. 실제 서비스를 운영하기 위해서 필요한 모든 환경이 시험으로 나온다고 생각 하면 편합니다. 결과 합격!! 시험 Tip 1. 명령어 치는 속도가 핵심이다. 2. kubectl 안되는 것만 docs를 찾고 나머지는 kubectl로 생성해서 하는게 좋다. 3. vim에 익숙해야 한다. killer.sh 에서 무한으로 연습하기 미진한점 sidecar pattern이 부족함. container강 data공유하는 부분 공부가 필요함. n..

Cloud/k8s-CKA 2023.11.19

[CKA] 48. killer.sh

context 찾기 kubectl 로 찾기 kubectl config view -o jsonpath='{.contexts[*].name}' | tr " " "\n" tr 사용법 단어 변경 tr " " '\n" 단어 삭제 tr -d '\n" kubectl 없이 찾기 cat ~/.kube/config | grep ^current | sed -e "s/current-context: //" control node에 배포 control node에는 taint가 걸려있음 그래서 toleration을 걸어야 합니다. 그러나 정확한 node에 배포 하기 위해서 nodeSelector로 어떠한 label을 가진 node인지를 선택 해야 합니다. nodeSelector 하는 이유 toleration이 걸려있는 pod는 아..

Cloud/k8s-CKA 2023.11.18

[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