전체 글
-
Kubernetes (K8S): Object - 6-2. Storage: hostpath공부합시다!/Kubernetes 2022. 6. 15. 06:22
K8S에서 제공하는 Storage 유형은 volume, Persistent Volume, Projected Volume, Storage Class, 임시 볼륨 등으로 다양하며 스냅샷 및 복제가 가능하며 스토리지 용량을 제한하는 등의 기능을 수행한다. 오늘은 가장 많이 사용하는 volume과 persistent volume에 대해서 학습합니다. 1. Volume의 필요성 1.1. Container간의 Data 공유 1.2. Contraier의 문제가 발생 시 Container는 재시작 또는 다시 생성하면 되지만 Data 보존은? 이런 문제를 해결할 수 있는 것이 K8S의 Volume 추상화 2. Storage 유형 2.1. volume 2.2. PV(Persistent Volume)와 PVC(Persist..
-
Kubernetes (K8S): Object - 5. Ingress공부합시다!/Kubernetes 2022. 6. 14. 06:21
Cluster 내의 서비스에 대한 외부 접근을 관리하는 API 오브젝트이며, 일반적으로 HTTP를 관리함.Ingress 는 LoadBalancer, SSL Terminated, Named 기반의 가상 호스팅을 제공할 수 있다. 1. 정의 1.1. Cluster 외부에서 Cluster 내부 서비스로 HTTP와 HTTPS 경로 노출. 1.2. 구성요소 1.2.1. Ingress Resource 1.2.2. Ingress Controller 1.3. 단일 POD 노출의 경우 Kubectl expose 와 비슷한 효과 1.4. 복잡한 상황시 Ingress가 더 많은 기능 제공 1.5. Ingress Controller 종류 1.5.1. GCE용 : ingress-gce 1.5.2. NGINX용 : in..
-
Kubernetes (K8S): Object - 4. Service공부합시다!/Kubernetes 2022. 6. 13. 21:09
POD를 외부에 노출하는 서비스에 대해서 살펴봅니다. Service는 POD에게 고유한 IP 주소와 파드 집합에 대한 단일 DNS 명을 부여하고, POD 간에 로드-밸런싱 가능케 함 1. 정의 2. Cluster IP : K8S로만 실행가능 3. NodePort : K8S로만 실행가능 4. LoadBalancer 5. ExternalName 순으로 진행합니다. 1. 정의 1.1. POD에 접근하는 정책 정의 1.2. POD간 통신이 가능하도록 EndPoint 생성 1.3. POD가 외부에서 접근 가능하도록 노출 2. Cluster IP : K8S로만 실행가능 2.1. Cluster 내부 IP에 노출 2.2. Cluster내에서만 서비스에 접근가능 2.3. Service Type의 기본값 2.4. 실습 2..
-
Kubernetes (K8S): Object - 3. Deployment공부합시다!/Kubernetes 2022. 6. 12. 16:34
POD : 여러 개의 컨테이너를 추상화해 하나의 애플리케이션으로 동작하도록 만드는 컨테이너 묶음. Replicaset : 일정한 갯수의 POD를 유지하는 Controller 1. 정의 1.1. POD와 Replicaset 에 대한 선언과 업데이트 제공하는 Controller 1.2. POD만으로 Service 운영시 복제 불가능 1.3. 안정적인 서비스를 위해서 복제 조절은 필수조건 1.4. POD의 복제를 비롯한 다양한 부분의 제어 가능 2. nginx Deployment 2.1. deploymemt 구성파일 2.1.1. # nginxdep.yml 작성 2.1.2. 적용 # kubectl apply -f nginxdep.yml 2.1.3. POD 확인 # kubectl get pod 2.1.4. rep..
-
Kubernetes (K8S): Object - 1. NameSpace공부합시다!/Kubernetes 2022. 6. 10. 16:44
Namespace는 하나의 물리적인 공간에 존재하는 K8S를 논리적인 작업환경으로 분리 서로 다른 Namespace 에는 영향을 미치지 않는다. 팀별 서로 다른 K8S 작업환경이 필요하다면 Namespace로 분리한다. 명령어로 할 수 있는 작업은 모두 yaml 파일로 작성할 수 있어야 합니다. 그 반대도 1. Namespace 확인 및 생성, 삭제 1.1. 생성 # kubectl create namespace NAME 1.2. 확인 # kubectl get namespace 1.3. 삭제 kubectl delete namespace NAME 1.4. 실습 1.4.1. 1team, 2team Namespace 생성 및 확인 1.4.2. 1team, 2team Namespace 삭제 및 확인 2. conf..
-
Kubernetes (K8S): 간단한 POD & Service 구성 Test공부합시다!/Kubernetes 2022. 6. 9. 18:29
본격적인 K8S 학습전 간단하게 몸풀기 정도의 구성을 해보도록 하겠습니다. 1. Nginx POD 생성 2. Service 외부 노출 3. POD및 Service 삭제 순으로 진행합니다. 1. Nginx POD 생성 1.1. 기존 POD 검색 # kubectl get pod 1.2. 기존 Node 검색 # kubectl get nodes 1.3. nginx POD 생성 및 검색 # kubectl run test-nginx --image nginx --port=80 # kubectl get pod 2. Service 외부 노출 2.1. Service 생성 및 외부 노출 # kubectl expose pod test-nginx --type-NodePort # kubectl get service 2.2. 확인..
-
Kubernetes (K8S): bash 자동 완성 기능 구성공부합시다!/Kubernetes 2022. 6. 8. 06:18
오늘은 bash 자동 완성 기능을 구성해 보겠습니다. 1. bash 자동 완성 1.1. K8S 역시 bash처럼 자동 완성 기능을 지원합니다. 1.2. package 설치 - Master Node 1.2.1. bash-completion 설치 yum install -y bash-completion 1.3. kubectl 자동 완성 스크립트가 모든 셸 세션에서 제공되도록 작업 1.3.1. 자동완성 스크립트를 /etc/bash_completion.d/kubectl 파일에 적용 kubectl completion bash > /etc/bash_completion.d/kubectl 1.4. Test 1.4.1. # ku -> tab -> kube -> kubec -> tab -> kubectl -> kubectl..
-
Kubernetes (K8S): Worker node Join공부합시다!/Kubernetes 2022. 6. 7. 06:29
기존의 구성에 Worker node 추가 작업을 진행해 보겠습니다. Worker node에서 초기 설치 작업은 진행한 것으로 간주합니다. 1. 기존 Worker node 조회 : master node 2. token 조회 및 생성 : master node 3. token을 인증서를 이용하여 sha256 방식으로 Hash : master node 4. master node join : worker node 5. 추가된 Worker node 확인 :master node 순으로 진행합니다. 1. 기존 Worker node 조회 1.1. 기존 구성의 Worker node 확인 kubectl get nodes 2. token 조회 및 생성 : Master 2.1. 기존 Token 조회 2.1.1. Token의 유..