image.png

1. 쿠버네티스 아키텍쳐
	1) controlplane 구성 요소(pod)
		* api-server      - 명령 처리
		* etcd            - 저장소, 백업
		* sched           - 스케줄러
		* control manager - 떠 있는 pod들 watch
		* cloud control manager
		
	2) worker 구성 요소
		* kubelet
		* container runtime
		* kube-proxy
		
	3) addon
		* DNS(core DNS)
		* CNI(calico)
		* dashboard
		* monitoring
		* ...
		
2. 네임스페이스(Namespace)
	네임스페이스? 자원을 격리하기 위한 클러스터 내에 추상적인 클러스터
	
	1) 네임스페이스 관리
	# 네임스페이스 생성
	kubectl create ns myns
	
	# 네임스페이스 확인
	kubectl get ns
	kubectl describe ns myns
	
	# 네임스페이스 삭제
	kubectl delete ns myns
	
	# 기본 네임스페이스 변경(default)
	
	[참고] 약어 확인 : kubectl api-resources
	
	2) 컨텍스트 관리
		컨텍스트? 클러스터 연결 프로필(cluster + user + namespace)
		=> 모여져 있는 파일 = kubeconfig
		
		# 컨텍스트 확인
		kubectl config view
		kubectl config get-context**s
		-----------------------------------------------------------------------------------
		CURRENT   NAME                          CLUSTER      AUTHINFO           NAMESPACE
		*         kubernetes-admin@kubernetes   kubernetes   kubernetes-admin   default
		          testctx                       kubernetes   kubernetes-admin   
		-----------------------------------------------------------------------------------**
		
		# 컨텍스트 추가
		kubectl config set-context mycontext \\
		--cluster=**kubernetes** \\
		--user=**kubernetes-admin** \\
		--namespace=default      # 기본 ns 지정함. 지정 안하면 default
		
		# 컨텍스트 변경(스위칭)
		kubectl config get-context
		kubectl config use-context myctx
		
		# 컨텍스트 삭제
		kubectl config delete-context myctx
		
		[참고] kubectx, kubens
					kube*
					kube* myctx
					kube* -
		[참고] (krew)kubectl ctx, kubectl ns
		
3. API 리소스 & API 버전
	
	# kube API의 Kind와 Version 확인
	kubectl api-resources
	
	# kube API의 Version만 확인
	kubectl api-version
	
	# kubectl explain pod.spec.containers.image
	# kubectl explain pod.spec --recursive
	[참고] kubernetes.io > Documentation > 검색
		

수업 자료

Kubernetes_제04장_쿠버네티스아키텍처_2025_0323[책작업].hwp