=================
== The Archive ==
=================

[그림과 실습으로 배우는 쿠버네티스 입문] 2장. 쿠버네티스 클러스터 만들어 보기

|

cover.jpg

2.1 쿠버네티스란?

2.1.1 컨테이너를 쉽게 만들고 파기할 수 있게 된 이후의 상황

2.1.2 쿠버네티스의 특징

Reconciliation Loop (조정 루프) 에 의해 자동 복구를 시도한다.

YAML 파일로 설정을 관리할 수 있다. (Infrastructure as Code)

쿠버네티스의 API 로 인프라 레이어가 추상화되어 있어, 서버 고유의 설정을 알 필요가 없다.

2.1.3 쿠버네티스 아키텍처 개요

flowchart LR
    subgraph ControlPlane[컨트롤 플레인]
        APIServer[kube-apiserver]
        Scheduler[kube-scheduler]
        ControllerManager[kube-controller-manager]
        ETCD[(etcd)]

        ETCD --> APIServer
        Scheduler --> APIServer
        ControllerManager --> APIServer
    end

    subgraph WorkerNode[워커 노드]
        Kubelet[kubelet]
        KubeProxy[kube-proxy]
        Runtime[컨테이너 런타임]

        Kubelet --> Runtime
        Runtime --> C1[컨테이너 😊]
        Runtime --> C2[컨테이너 😊]
    end

    kubectlClient[kubectl 클라이언트 😺] --> APIServer
    APIServer --> Kubelet
    APIServer --> KubeProxy

2.1.4 다양한 쿠버네티스 클러스터 구축 방법

2.2 [만들고 고치기] 쿠버네티스 클러스터 만들고 지우기

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
~                                                                      21:10:08
❯ kind create cluster                             
Creating cluster "kind" ...
 ✓ Ensuring node image (kindest/node:v1.34.0) 🖼 
 ✓ Preparing nodes 📦  
 ✓ Writing configuration 📜 
 ✓ Starting control-plane 🕹️ 
 ✓ Installing CNI 🔌 
 ✓ Installing StorageClass 💾 
Set kubectl context to "kind-kind"
You can now use your cluster with:

kubectl cluster-info --context kind-kind

Have a question, bug, or feature request? Let us know! https://kind.sigs.k8s.io/#community 🙂

~                                                                  58s 21:14:18
❯ kubectl cluster-info --context kind-kind
Kubernetes control plane is running at https://127.0.0.1:53470
CoreDNS is running at https://127.0.0.1:53470/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.

~                                                                      21:17:19
❯ cat ~/.kube/config 
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURCVENDQWUyZ0F3SUJBZ0lJTjNQMWsydkVHSW93RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRFeE1UWXhNakE1TURkYUZ3MHpOVEV4TVRReE1qRTBNRGRhTUJVeApFekFSQmdOVkJBTVRDbXQxWW1WeWJtVjBaWE13Z2dFaU1BMEdDU3FHU0liM0RRRUJBUVVBQTRJQkR3QXdnZ0VLCkFvSUJBUUMvVllPaWVuOGE2Qkp4SkVUN08wbjZqelM0eWQvelJlY0E0M1ZZUEJMNGR3RHFPK25QaUJ3SUZkRzAKeURPdVR6RW1KcUtmalZzeVZRL0s0aW9kZ3F3MEdibE9nRllCR1VWNFljaC9MdjNHeSsxNzBuWmVWRjRHbGRYUAoxS2EyNnA0b09QMzdUQkJXell3eDNGcjVvMG5zYWlkRS9qRThLT0p2a3V1ci9iT2JTM01kTHdYZlB0YzVIc3Y0CndqcGRRbWNDVGRlWUhLK0RPbnBUekZnWkFvTUZJbGR5K0d4aUttK3pBRTNaY1ZWV1ZnaGo4NnVjQXZqM01HNUUKaXZHNFlWNzZRWnVjZGovWjhYVGo2ZUR4TFNDN2plbTJFYXVXdFE4YXFSaVVaWlNFOC9oOVk1bWxzVkVxaEtHcwpyRHRYbXNlWEFrS251Ti83Sk1YKytVM2J2WHQvQWdNQkFBR2pXVEJYTUE0R0ExVWREd0VCL3dRRUF3SUNwREFQCkJnTlZIUk1CQWY4RUJUQURBUUgvTUIwR0ExVWREZ1FXQkJTMGc0YlgyMGpkUVhjbGJaOHRvSWE5MnF5dTF6QVYKQmdOVkhSRUVEakFNZ2dwcmRXSmxjbTVsZEdWek1BMEdDU3FHU0liM0RRRUJDd1VBQTRJQkFRQWdURnlrRmhDLworTjNsenFZWUh1VVFvNms5MWUzVWNyM0JXS3d2M0xPSU5FSzE0ZjF4VkdaOEcwYzFpMUhuY0hVZ2x5cFJQbFl5CmlmaXd0SlNZMFV0WmJxd05oa21INEZmSnVBdWxhT1AxSnpwOHUrTXBvUHc3M0Erb0RSek1Ic3pJRlppNVRGa3cKeVZFQUZxMlBlSWR1dzZZQkI5OGltbDNpd0RMYWpITDFmZ2tnWjl0bEh3aU03NTB1cnk5NDZqeTlDZ2d4cmhUSgo4TFA4aWl2M21IbC9hUDJIblJKQmJWN0ZGeWpPc1JIV0h5TmlCUEdON1lpSFp3QlRkd1FZRktTZmxIM1dLK081CkFjd0J4bXRuVDB4bUhTejRCMytIUDh2b1A1Z004aUU1K0UwQ1VQbjRWYUNnUEY5QVJ5NlF5WjNTcDRJQnRwS00KRCtyNTdrL28zcWFRCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
    server: https://127.0.0.1:53470
  name: kind-kind
- cluster:
    certificate-authority: /Users/bossm0n5t3r/.minikube/ca.crt
    extensions:
    - extension:
        last-update: Mon, 03 Nov 2025 23:27:20 KST
        provider: minikube.sigs.k8s.io
        version: v1.37.0
      name: cluster_info
    server: https://127.0.0.1:32771
  name: minikube
contexts:
- context:
    cluster: kind-kind
    user: kind-kind
  name: kind-kind
- context:
    cluster: minikube
    extensions:
    - extension:
        last-update: Mon, 03 Nov 2025 23:27:20 KST
        provider: minikube.sigs.k8s.io
        version: v1.37.0
      name: context_info
    namespace: default
    user: minikube
  name: minikube
current-context: kind-kind
kind: Config
preferences: {}
users:
- name: kind-kind
  user:
    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURLVENDQWhHZ0F3SUJBZ0lJTXhPaHo1S3I4NzB3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TlRFeE1UWXhNakE1TURkYUZ3MHlOakV4TVRZeE1qRTBNRGRhTUR3eApIekFkQmdOVkJBb1RGbXQxWW1WaFpHMDZZMngxYzNSbGNpMWhaRzFwYm5NeEdUQVhCZ05WQkFNVEVHdDFZbVZ5CmJtVjBaWE10WVdSdGFXNHdnZ0VpTUEwR0NTcUdTSWIzRFFFQkFRVUFBNElCRHdBd2dnRUtBb0lCQVFDekpSM3oKMnBJZmxtQXpoUG55U3NkM3prUTZ6OUhtM1llQUhJVDBGZ3A4MFpsSndXbkxiWVcrMG9RNXlQNG02akZCWU5PNwo0S1ZOeVZXSGMyREF5YXB5NXg4emVjVDNPR2IzSjY5UEQ3UmFxZDlKdUVqY3pBQXBudnRkT3d5OUhHeDBtNjNrCm04dzhzWWV5VkhONnBJaXZ0Z2pFMEJqMytLL0JxQlpLeDdJN2FGa3VTME1CWGJQVU0rSXdNdy9PVm5IVVNHZ0EKNjhROEptUDNERzRvaVV2clF0Y1I3QTROV1dQaEVNWHY5SjZwZlMxLzQyNXdEOHNwOWZSWWxwQ050VHNMb1lPZAo0ajZBWnZ0ejk4d0xZVG16REFLL3IyU2xkRmtZVHl2R0I1Rmp0T2tIdzhORzdMOFEyeHFZQ1BnZWR5UGRsVG5DCkduOHVyVmxDclh1aE03ZUhBZ01CQUFHalZqQlVNQTRHQTFVZER3RUIvd1FFQXdJRm9EQVRCZ05WSFNVRUREQUsKQmdnckJnRUZCUWNEQWpBTUJnTlZIUk1CQWY4RUFqQUFNQjhHQTFVZEl3UVlNQmFBRkxTRGh0ZmJTTjFCZHlWdApueTJnaHIzYXJLN1hNQTBHQ1NxR1NJYjNEUUVCQ3dVQUE0SUJBUUI3MlZKb0dCNHZRSFJ4bDdFQ1RZdTVSMDBDClNReWJrVlJyNmxYY0dyT0g3TUEzV1BTelhkeXIrQXZnYzJQTnlKRTdKSGtCa0NRN2pnSmtvK3hjWm5KQTVkOFIKY1hLcWIydklDVmZoTEQ1WmhBeDVuN3c0dXhjZVlUODlCSjdVdmpQRTFrejUveVNRbVFpenhoUVVOYlJUeEtCcwpjZFlMRzhURHZ2UnNxT1lOMlRIY002Z1huTVNpQUQ5OVo5azBIRUFDNGREU2pMR3JBSWtLclFHWlkrVjZSQ2hSCjFGN3ArZ2NMZy90ZGZLRXJSS0R3bm1EbzdQY2VESXBEcnhlbUUvN1hiRnpSMHZXbk1KS21FSUFLd2ZTM1BMbUwKMWJtaEhqK25LN2RLem8rd0dNcUhrOXgxN3dCTC85SjNHOXFRYVkveFp0SlNseVBZRHZ3U1lJSmhVbGdKCi0tLS0tRU5EIENFUlRJRklDQVRFLS0tLS0K
    client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFcEFJQkFBS0NBUUVBc3lVZDg5cVNINVpnTTRUNThrckhkODVFT3MvUjV0MkhnQnlFOUJZS2ZOR1pTY0ZwCnkyMkZ2dEtFT2NqK0p1b3hRV0RUdStDbFRjbFZoM05nd01tcWN1Y2ZNM25FOXpobTl5ZXZUdyswV3FuZlNiaEkKM013QUtaNzdYVHNNdlJ4c2RKdXQ1SnZNUExHSHNsUnplcVNJcjdZSXhOQVk5L2l2d2FnV1NzZXlPMmhaTGt0RApBVjJ6MURQaU1ETVB6bFp4MUVob0FPdkVQQ1pqOXd4dUtJbEw2MExYRWV3T0RWbGo0UkRGNy9TZXFYMHRmK051CmNBL0xLZlgwV0phUWpiVTdDNkdEbmVJK2dHYjdjL2ZNQzJFNXN3d0N2NjlrcFhSWkdFOHJ4Z2VSWTdUcEI4UEQKUnV5L0VOc2FtQWo0SG5jajNaVTV3aHAvTHExWlFxMTdvVE8zaHdJREFRQUJBb0lCQURmNlZLb3l0YTlPSDJCcAo0R3BnQ0lVOHZHQStPU0l4UGRwL3p1R3drM1ZlVDA1WE5CWS9jbWZtd3krRlNUbGl1NkpvdmJDNjZSeHQyWjU2CkpKVUpUd3daZ1V2bDlIQ2x2TExsUVNmc3lkZjh0Y3VFM0t1MXlTVTRTdVplZ2NRRUFqWEx3YUlxTnI4T1lFOE8KaVlrY3FhTnlON284SmxreDZjV1RIdWdlRDJqMVU5STNJNU9Hd1duSFQrOEhVUk1oMFdwSXI2SloxTms2QkE3WQpWc1NTa2RrWGRNSDFucEZWVXVyblpjWDd6TGg0ZDQ4NXpDdzQ0MGNjZXlpSFZkZUd1RjJaaEtXci8zWnJTeDl6CkdURkVCd1dSMzNRbSs0a1JTMnhFZ1ZjcGR1dHBPWXRlLzh2bGtyVHVIOUhrMTRhVnFEY2NaR0pZOVExWWNYN2wKbUFTaUtHVUNnWUVBNEVkZitkcEZwRUdFV3FIQXI3UGZNbXVaS1dxYThzYjRoVzNGbGJvRzdQcWxvNVp5Z0FkTwowUUtNMFNSWUZBMGdwcWsrd2lWSU1wejRUWXdldlR3aU9SUXBrOXZuY2RSRUx5UXE4Y2dnSTdvNkxvK3kwOWxrCm5GTlV4TmhZVStIRnhBMVBtLzFUa3hzL2x2VUdjL1o2SnNoZ3JsQmhSdHVJaSt1alZUeUJTUVVDZ1lFQXpIdU0KbWFUZndla2UxQ24rRnpGRE4rSFJNUlh4dUtMdGo1NmtZRGxXc1pNL1J3RHBRQWZ1Sis3N1Fhbzdyb3FSL2lVUQpNMjdacmJDWEZ6YUxiMHp4SDBiK21YNG5kcTM5TnF3M2VqVVdoRUQ1NjBPSjc2V3Q5aXFudlFoZEtodVJrQ3FPCmhBdXJvTVl2OXpoUm1SaWR0eU1KUXFYOTZGVjVxUW9TQlRhTU5Cc0NnWUVBbHo0cXI5QU05S2FsL1lSazcxZksKSlROQU54akg0djVncTRJS0kxMHV2SEtPYnRITzV4MkdmaFpOSmVCdmNSNGxMWjZtVHNCYmZwNHlLQUZjM1ZvRwo3aHoxcU5zN3FaeHVXcWYyT2RRdU1FbXVZS1hRLzJIem9pUGozMWJSd2NkWDJVenNxWkhjNFRBWDR0SGJoeW5vCjEreDZuakpnVnl0R1dxME9HVFhUTFkwQ2dZQUNHeWVva1hVb2h5RWxLRVdRc1pZeXBpWEVicWh0c1dmbStjaFIKb1dXT01La1BMeWczMjUwTlZqM0tRRm1iQTV4YlZNQms5emhRdktmaHVsTVhVMkNNWk92TVl1cy9JcTJmK1lnYwp2eDA3UVh3UmUwR1pjVWhvWjZvUW5WeHdTWlpuT0xqOURTMjRXekkxUnFRNGduTmxabnY2N3NDOXV0dWs3UkNnCmN4NWdqd0tCZ1FDWXpuMVBHVUxrV2s0NWZnR2tKa1M2Y3F6SzhXR3A0NDBzT212MlNnSERGMEVlVmtCM1FEOTEKUzZjSVpzRUhLb01FWlJyU2kzamNPOUlEV2wxTXNJeXIzeDkwS21JQVdYeGxCeG1QbWtNZHJsWmtRcjRvMEZ1bgpIUGhTaWd6QVMyNG1GeXAybTBGRzd0VlI1cnpiNGUxVE4rUGxLd0cyTUVSZk5NVW9nNjdvVFE9PQotLS0tLUVORCBSU0EgUFJJVkFURSBLRVktLS0tLQo=
- name: minikube
  user:
    client-certificate: /Users/bossm0n5t3r/.minikube/profiles/minikube/client.crt
    client-key: /Users/bossm0n5t3r/.minikube/profiles/minikube/client.key

~                                                                      21:17:35
❯ kind delete cluster                     
Deleting cluster "kind" ...
Deleted nodes: ["kind-control-plane"]

~                                                                      21:19:15
❯ kind get clusters
No kind clusters found.

Categories:

Tags: