본문 바로가기
반응형

분류 전체보기91

[따배씨] 2. Pod 생성하기 / CKA 시험 문제 학습 이 포스팅은 아래의 유튜브 채널 "따배"를 따라서 학습한 내용입니다.      [관련 이론]  Pod 생성 과정 1. 사용자가 pod 생성 요청을 보낸다. 이 요청은 kube-apiserver로 전달된다.2. kube-apiserver는 새로운 pod의 정보를 etcd에 저장한다.3. kube-scheduler는 etcd의 정보를 참조하여 scheduler 정책에 따라 pod가 생성될 node를 결정한다.4. 선택된 노드의 kubelet은 etcd에서 할당된 Pod 정보를 조회하고, 컨테이너 런타임(Container Runtime)을 사용하여 Pod을 실행한다.5. kube-proxy는 서비스(Service)와 Pod 간 네트워크 라우팅을 설정한다. ✅ 전체 Pod 생성 흐름 요약1️⃣ 사용자 → kub.. 2025. 1. 29.
[따배씨] 1. ETCD Backup & Restore / CKA 시험 문제 학습 이 포스팅은 아래의 유튜브 채널 "따배"를 따라서 학습한 내용입니다.     [관련 이론]  Kubernetes etcd란? etcd는 Kubernetes의 핵심 데이터 저장소로, 분산 키-값 저장소(distributed key-value store)이다. Kubernetes 클러스터의 상태(state)와 설정(configuration) 정보를 저장하는 역할을 함  etcd의 역할 Kubernetes에서 etcd는 클러스터의 상태를 저장하는 중앙 저장소 etcd에 저장되는 주요 데이터 노드(Node) 정보Pod 및 Deployment 정보Service 및 Ingress 정보ConfigMap 및 SecretRole-based Access Control (RBAC) 정보클러스터 상태 및 이벤트 로그즉, Ku.. 2025. 1. 29.
[CKA] 16. ETCD backup & Restore ETCD란? etcd는 모든 클러스터 데이터에 대한 Kubernetes의 백업 저장소로 사용되는 일관적이고 가용성이 높은 키 값 저장소 https://kubernetes.io/docs/tasks/administer-cluster/configure-upgrade-etcd/ 01. ETCD backup & restore- 문제에서 주어지는 인증서 및 키를 이용하여 snapshot을 만든다. - 문제에서 인증서와 키가 주어지지 않는 경우 /etc/kubernetes/manifests/etcd.yaml 을 file로 grep하여 위치를 확인. - restore 후에는 host-path의 data-dir를 restore한 경로로 수정해준다. [solve]: backup ETCDCTL_API=3 etcdctl --.. 2025. 1. 14.
[CKA] 15. NetworkPolicy 생성 01. 특정 조건의 networkPolicy 생성.  [solve][root@k8s-master ~]# vi 46-test.yamlapiVersion: networking.k8s.io/v1kind: NetworkPolicymetadata: name: allow-port-from-namespace namespace: echospec: policyTypes: - Ingress ingress: - from: - namespaceSelector: matchLabels: name: my-app ports: - protocol: TCP port: 9000 [root@k8s-master ~]# kubectl apply -f 46-test.yaml .. 2025. 1. 14.
[CKA] 14. daemonset 생성 Kubernetes에서 DaemonSet이란? **데몬셋(DaemonSet)**은 쿠버네티스(Kubernetes)에서 클러스터 내의 각 노드에 특정 Pod를 배포하고 관리하기 위해 사용되는 리소스이다. 데몬셋은 클러스터의 모든(또는 선택된) 노드에 Pod가 하나씩 실행되도록 보장한다.   https://kubernetes.io/docs/concepts/workloads/controllers/daemonset/01. 특정 조건의 daemonset을 생성한다. taints가 override되지 않도록 설정한다.  [solve][root@k8s-master ~]# vi 45-test.yamlapiVersion: apps/v1kind: DaemonSetmetadata: name: ds-kusc00201 la.. 2025. 1. 14.
[CKA] 13. clusterRole과 serviceAccount를 생성 01. 특정 clusterRole과 serviceAccount를 생성하고 binding 한다.  [solve][root@k8s-master ~]# vi 37-test.yamlapiVersion: rbac.authorization.k8s.io/v1kind: ClusterRolemetadata: name: deployment-clusterrole namespace: app-team1rules:- apiGroups: [""] resources: ["Deployment", "StatefulSet", "DaemonSet"] verbs: ["create"]--- apiVersion: v1kind: ServiceAccountmetadata: annotations: kubernetes.io/enforce.. 2025. 1. 14.
[CKA] 12. ingress 생성 | 특정 조건의 ingress 생성 Kubernetes insgress란? Kubernetes에서 Ingress는 클러스터 외부에서 클러스터 내부의 서비스로 HTTP 및 HTTPS 트래픽을 라우팅하는 API 객체이다. 즉, Ingress는 외부 트래픽이 클러스터 내에서 어떻게 전달될지를 정의하는 역할을 한다. https://kubernetes.io/docs/concepts/services-networking/ingress/01. 특정 조건의 ingress를 생성한다.조건 1: name / 조건 2:namespace / 조건 3: service name / 조건 4: path / 조건 5: 포트  [solve][root@k8s-master ~]# vi 30-test.yamlapiVersion: networking.k8s.io/v1kind: .. 2025. 1. 14.
[CKA] 11. cluster upgrade | 노드 drain | cordon / uncordon 01. cluster upgrade 진행 / 조건1: 업그레이드 전 drain, 조건2: 업그레이드 후 uncordon [solve][root@k8s-master ~]# kubectl get nodesNAME STATUS ROLES AGE VERSIONk8s-master Ready control-plane 6h48m v1.27.2k8s-node1 Ready 6h32m v1.27.2k8s-node2 Ready 6h31m v1.27.2[root@k8s-master ~]# [root@k8s-master ~]# [root@k8s-master ~]# [root@k8s-master ~]# [r.. 2025. 1. 14.
[CKA] 10. kubectl top 명령어 사용 문제 | --sort-by | -l 옵션 사용 01. cpu 사용률이 높은 순으로 pod list를 확인하고 가장 사용률이 높은 pod를 출력해서 특정 파일로 저장한다.  [solve][root@k8s-master ~]# kubectl top pods --sort-by=cpu -l app=nginxNAME CPU(cores) MEMORY(bytes) nginx-deployment-cbdccf466-4k8t8 0m 1Mi nginx-deployment-cbdccf466-6nqjr 0m 1Mi nginx-deployment-cbdccf466-bjtj5 0m 1Mi n.. 2025. 1. 14.
반응형