반응형

CKA 26

[Kubernetes] 34. Software Version, Cluster Upgrade

v1.11.3v[major].[minor].[patch] alpha version:beta versionmajor version: minor version: feature, functionalitiespatch version: bug fixes   cat /etc/*release*# 마스터노드 업그레이드vi /etc/apt/sources.list.d/kubernetes.listsudo apt updatesudo apt-cache madison kubeadmsudo apt-mark unhold kubeadm && \sudo apt-get update && sudo apt-get install -y kubeadm='1.31.0-1.1' && \sudo apt-mark hold kubeadmkubeadm ve..

[Kubernetes] 33. OS Upgrades

※ 주의사항: 쿠버네티스 버전 업그레이드 시 버전은 꼭 1씩 올려야 한다. 예를 들어, V1.30.8에서 V1.32.0으로 올려야 한다면 V1.30.8 → V1.31.4 → V1.32.0의 순서로 각 노드 하나씩 업그레이드 작업을 해야한다.# master nodeyum list --showduplicates kubeadm --disableexcludes=kubernetesyum install -y kubeadm-1.32.0-150500.1.1 --disableexcludes=kuberneteskubeadm versionkubeadm upgrade plankubeadm upgrade apply v1.32.0kubectl drain [노드명] --ignore-daemonsets# replicaset, job..

[Kubernetes] 30. Multi-Container

서로 의존하며 Lifecycle이 동일한 컨테이너를 동일한 Pod에 배치하는 것을 Multi-Container라고 한다.Multi-Container 구성 및 로그 확인# Multi-Container 구성apiVersion: v1kind: Podmetadata: name: simple-webapp labels: name: simple-webappspec: containers: - name: simple-webapp image: simple-webapp ports: - containerPort: 8080 - name: log-agent image: log-agent# Pod 접속 후 로그 보기kubectl exec -it [pod name] -c [container n..

[Kubernetes] 29. Encrypt Secret

쿠버네티스 Secret을 암호화하기 위해 etcd를 이용하여 암호화한다. EncryptionConfiguration라는 오브젝트를 생성한다.Secret 암호화 방법# etcd 설치 및 설정yum install epel-releaseyum install etcd# etcdctl을 사용한 데이터 확인ETCDCTL_API=3 etcdctl \ --cacert=/etc/kubernetes/pki/etcd/ca.crt \ --cert=/etc/kubernetes/pki/etcd/server.crt \ --key=/etc/kubernetes/pki/etcd/server.key \ get /registry/secrets/default/secret1 | hexdump -C# kube-apiserve..

[Kubernetes] 28. Secret

쿠버네티스의 Secret은 암호, 토큰, 키 같은 민감한 데이터를 관리하는 컴포넌트이다. key-value로 저장되는 것이 ConfigMap과 유사하지만, value값이 base64 인코딩되어 저장되는 점은 다르다. (암호화 X)Secret 생성# 명령어로 생성kubectl create secret generic [secret name] --from-literal=[key]=[value]kubectl create secret generic [secret name] --from-file=[file path]kubectl create secret generic \ app-secret --from-literal=DB_Host=mysql --from-literal=DB_User=r..

[Kubernetes] CKA 취득 성공

시험 복기하면서 틀린 부분이 디테일하게 계속 생각나서 불합격할까봐 걱정했지만.. 84점으로 합격했다. 할 수 있는 데까지 하면 부분점수를 주는 것 같다.헷갈렸던 부분은...networkpolicy 만들 때 namespace로 ingress를 설정하되 namespace A에서는 되지만 namespace B에서는 안되게 설정하는 부분etcd복구할 때 datadir 옵션 안 주면 자동으로 /default.etcd 경로에 연결이 된다고 한다. etcd yaml volume 수정해줄 것! 그냥 명시해서 옵션 지정해 주는 것이 좋다.kubelet permanently 활성화 할 땐 systemctl enable --now kubelet이다. restart 아니다.참고로...리눅스 UI 서버가 익숙지 않아서 파이어폭..

[Kubernetes] 27. ConfigMap

ConfigMap과 Secret은 환경설정 데이터를 관리하기 위한 리소스이다. 애플리케이션에서 환경변수나 설정파일처럼 사용할 수 있는 키-값 쌍을 저장한다. 컨테이너 이미지와 설정 데이터가 분리되어 있어 배포 시 유연성을 높여준다.ConfigMap 생성# 리터럴 데이터로 생성kubectl create configmap [config name] --from-literal=[key]=[value]kubectl create configmap app-config --from-literal=APP_COLOR=blue --from-literal=APP_MODE=prod# 파일로 생성kubectl create configmap [config name] --from-file=[file path]kubectl creat..

[Kubernetes] 26. Environment Variables

기본 환경변수 설정(env)apiVersion: v1kind: Podmetadata:  name: simple-webapp-colorspec:  containers:  - name: simple-webapp-color    image: simple-webapp-color    ports:      - containerPort: 8080    env:      - name: APP_COLOR        value: pink      - name: APP_MODE        value: prodConfigMap에 저장된 값으로 환경변수 설정(valueFrom.configMapKeyRef)apiVersion: v1kind: Podmetadata:  name: simple-webapp-colorspec:  ..

[Kubernetes] 25. Command, Arguments + Dockerfile

docker run ubuntudocker psdocker ps -a # 종료된 컨테이너 포함docker run ubuntu [command]docker run ubuntu sleep 5FROM UbuntuCMD sleep 5CMD ["sleep","5"] # json 포맷으로 지정해야함docker build -t ubuntu-sleeper .docker run ubuntu-sleeperFROM UbuntuENTRYPOINT ["sleep"]CMD ["5"] # sleep 5 실행 docker run ubuntu-sleeper 10docker run --entrypoint sleep2.0 ubuntu-sleeper 10docker run --name ubuntu-sleeper ubuntu-sleeperd..

반응형