kubectl 8

[CKAD] 자격증 취득 후기 (2023.06.24)

2023년 6월 24일, CKAD 시험 합격! 준비 기간 * 약 1달 Kubernetes 사용 기간 및 배경 저는 3년차 백엔드 개발자이며, 현 회사에서 Kubernetes를 처음 사용하면서 접하게 되었습니다. 약 3개월 정도 기본적인 기능을 사용하면서 더 깊게 공부해보고 싶은 마음이 들어서 CKA를 준비하며 공부를 시작하게 되었습니다. CKA 취득(CKA 취득 후기)한 이후 CKAD를 바로 준비했습니다. CKAD란 CKAD에 대한 설명은 다른 좋은 글들이 많으니 생략하도록 하겠습니다. 제가 이전에 쓴 글도 참고하시면 좋을 것 같습니다. CKAD 자격증이란? 공부 방법 저는 이전에 CKA 자격증을 취득한 후라서 자세한 공부 방법은 CKA 취득 후기 참고 바랍니다. 덧붙이자면, CKAD 자격증을 준비하기 ..

CKAD 2023.06.27

[CKA] Workloads & Scheduling

CKA 시험 비중 (15%)Pod란* Pod란 컨테이너를 표현하는 k8s API의 최소 단위* Pod에는 하나 또는 여러 개의 컨테이너가 포함될 수 있음$ kubectl run web --image=nginx --port=80 실습1'cka-exam'이라는 네임스페이스를 만들고, 'cka-exam' 네임스페이스에 아래와 같은 Pod를 생성하세요.* pod Name: pod-01* image: busybox* 환경변수: CERT="CKA-cert"* command: /bin/sh* args: "-c", "while true; do echo $(CERT); sleep 10;done"$ kubectl create namespace cka-exam# docs 적극 참고$ vi pod-0..

CKA 2023.05.14

[CKA] Cluster Architecture, Installation & Configuration (2)

CKA 시험 비중 (25%) API 인증: RBAC * API 서버에 접근하기 위해서는 인증 작업이 필요 * Role-based Access Control(RBAC, 역할 기반 액세스 제어) * User: 클러스터 외부에서 쿠버네티스를 조작하는 사용자 인증 (kubectl 명령어) -> cat .kube/config * Service Account: Pod가 쿠버네티스 API를 다룰 때 사용하는 계정 kubectl get secrets -> 토큰을 확인할 수 있다. Role & RoleBinding * 특정 유저나 ServiceAccount가 접근하려는 API에 접근 권한을 설정 * 권한 있는 User만 접근하도록 허용 * 권한 제어 * Role 1. 어떤 API를 이용할 수 있는지의 정의 2. 쿠버네티..

CKA 2023.05.14

[CKA] Cluster Architecture, Installation & Configuration (1)

CKA 시험 비중 (25%)ETCD* 쿠버네티스 클러스터의 정보를 저장하는 곳 (메모리)* key: value 형태의 데이터 스토리지* 모든 ETCD 데이터는 ETCD 데이터베이스 파일에 보관 -> /var/lib/etcd* ETCD 관리 명령: etcdctl* 마스터 3대, ETCD 3대 -> 고가용성(HA) 실습1What is the version of ETCD running on the cluster?$ kubectl describe pod etcd-controlplane -n kube-system Image: registry.k8s.io/etcd:3.5.6-0 실습2At what address can you reach the ETCD cluster from the c..

CKA 2023.05.13

[CKA] Troubleshooting

CKA 시험 비중 (30%) 지정한 Pod 내의 특정 컨테이너 애플리케이션 로그 확인 $ kubectl logs {Pod Name} 실습 {Pod name}의 로그 모니터링 후 'file not found' 오류가 있는 로그 라인 추출(Extract)해서 custom-log 파일에 저장하세요. $ kubectl get pod {Pod name} $ kubectl logs {Pod name} | grep 'file not found' > custom-log 클러스터 리소스 Pod 모니터링 $ kubectl top pods $ kubectl top pods --sort-by=cpu, kubectl top pods --sort-by=memory $ kubectl top pods {Pod Name} $ kube..

CKA 2023.05.13

[CKA] Services & Networking

CKA 시험 비중 (20%)Pod NetworkCNI에서 관리하는 포드 간 통신에 사용되는 클러스터 전체 네트워크 Service NetworkService discovery를 위해 kube-proxy가 관리하는 Cluster-wide 범위의 Virtual IP(Cluster IP)부하분산, Web 단일진입점(LB) Kubernetes Network Proxy 각각의 Node에서 실행되고, Kubernetes Service API에 정의된 서비스를 각 노드에서 반영 (kube-proxy 역할: iptables rule을 설정하고 외부 네트워크와 Pod를 연결) Service Type - ClusterIP(default)* Pod 그룹(동일한 서비스를 지원하는 Pod 모음)의 단일 ..

CKA 2023.05.07

[CKA] 실습 환경 구성하기 (Mac)

CKA 실습 환경 구성Mac 환경에서 진행 Docker 설치Docker Desktop for Mac 설치 kubectl 설치brew install kubectl minikube 설치 - 쿠버네티스 클러스터 구성brew install minikube$ minikube start --driver docker😄 Darwin 13.3.1 의 minikube v1.30.1🆕 이제 1.26.3 버전의 쿠버네티스를 사용할 수 있습니다. 업그레이드를 원하신다면 다음과 같이 지정하세요: --kubernetes-version=v1.26.3✨ 기존 프로필에 기반하여 docker 드라이버를 사용하는 중👍 minikube 클러스터의 minikube 컨트롤 플레인 노드를 시작..

CKA 2023.05.02

[Helm] redis 설치하기

사전 준비kubectl, minikube, docker desktop 사전 설치 필요 Redis 설치1. https://artifacthub.io/ 접속2. redis 검색3. redis (Bitnami) 클릭4. 아래 명령어로 설치: Release Name은 개인적으로 설정helm install {Release Name} oci://registry-1.docker.io/bitnamicharts/redis5. Release Name 'my-release' 설치하면 아래와 같은 설치 내용이 나온다. (helm status {Release Name}으로 확인 가능)Pulled: registry-1.docker.io/bitnamicharts/redis:17.10.1Digest: sha256:352767b978..

Kubernetes 2023.04.29