Kubernetes
-
15. 클러스터 유지와 보안 트러블 슈팅 (1)24년 11월 이전/데브옵스(DevOps)를 위한 쿠버네티스 마스터 2021. 9. 1. 21:55
이 문서는 인프런 강의 "데브옵스를 위한 쿠버네티스 마스터"을 듣고 작성되었습니다. 최대한 요약해서 강의 내용을 최소로 하는데 목표를 두고 있어서, 더 친절하고 정확한 내용을 원하신다면 강의를 구매하시는 것을 추천드립니다. => 강의 링크 노드 1개를 업데이트해야 한다면? 이번 절은 GKE에서 진행한다. 쿠버네티스 클러스터를 운영하다보면, OS 업데이트 혹은 쿠버네티스 버전 업데이트 등의 이유로 운영 중인 노드를 하나씩 내리고 업데이트 후 다시 올려야 할 때가 있다. 이 때, 다음과 같은 절차로 진행한다. 업데이트해야 할 노드 drained (노드에서 운영되는 리소스 수거) 노드 업데이트 업데이트된 노드 uncordon (업데이트 노드 다시 클러스터 참여) 노드 정보를 확인해보자. $ kubectl ge..
-
14. 서비스 매시 환경 모니터링 도구 istio 시작하기24년 11월 이전/데브옵스(DevOps)를 위한 쿠버네티스 마스터 2021. 8. 31. 20:11
이 문서는 인프런 강의 "데브옵스를 위한 쿠버네티스 마스터"을 듣고 작성되었습니다. 최대한 요약해서 강의 내용을 최소로 하는데 목표를 두고 있어서, 더 친절하고 정확한 내용을 원하신다면 강의를 구매하시는 것을 추천드립니다. => 강의 링크 istio란 무엇인가 쿠버네티스는 도커를 편리하게 컨트롤할 수 있으며 다양한 이점을 제공한다. 하지만 다수의 컨테이너가 동작할 때 컨테이너의 트래픽을 관찰하고 정상 동작하는지 모니터링하는 것은 매우 어렵다. 이를 해결하는 것이 서비스 매쉬란 개념이고 이에 대한 구현체 중 하나가 istio이다. istio를 사용하면 다음과 같은 장점이 생긴다. 쿠버네티스의 복잡성을 감소시킬 수 있다. 트러블 슈팅과 디버깅이 매우 쉬워져서 운영하는데 큰 도움을 준다. 하지만 각 Pod당 ..
-
11. 애플리케이션 스케줄링과 라이프사이클 관리 (1)24년 11월 이전/데브옵스(DevOps)를 위한 쿠버네티스 마스터 2021. 8. 17. 07:09
이 문서는 인프런 강의 "데브옵스를 위한 쿠버네티스 마스터"을 듣고 작성되었습니다. 최대한 요약해서 강의 내용을 최소로 하는데 목표를 두고 있어서, 더 친절하고 정확한 내용을 원하신다면 강의를 구매하시는 것을 추천드립니다. => 강의 링크 컨테이너 환경 변수 전달 (1) YAML k8s에서 Pod에 실행되는 컨테이너에 환경 변수를 전달하는 방법은 크게 3가지가 있다. Yaml 파일에 직접 명시 "spec.containers[*].env" Secret ConfigMap 이 절에서는 이 중 첫 번째 Yaml로 전달하는 방식을 알아본다. env-yaml.yaml을 다음과 같이 생성한다. src/ch11/k8s/env-yaml.yaml apiVersion: v1 kind: Pod metadata: name: e..
-
10. 쿠버네티스 핵심 개념 (5)24년 11월 이전/데브옵스(DevOps)를 위한 쿠버네티스 마스터 2021. 8. 14. 18:30
이 문서는 인프런 강의 "데브옵스를 위한 쿠버네티스 마스터"을 듣고 작성되었습니다. 최대한 요약해서 강의 내용을 최소로 하는데 목표를 두고 있어서, 더 친절하고 정확한 내용을 원하신다면 강의를 구매하시는 것을 추천드립니다. => 강의 링크 네트워크 볼륨 (NFS) Kubernetes는 스토리지로 네트워크 파일 시스템(NFS, GlusterFS)을 이용할 수 있다. 이 절에서는 NFS를 볼륨으로 이용하는 것에 대해서 다룬다. 이 절은 "VM"에서 진행한다. 먼저 모든 노드에 NFS를 설치한다. $ sudo -i # apt-get install nfs-common nfs-kernel-server portmap -y 그리고 노드 1개를 선택해서 다음 작업을 진행한다. 나는 "슬레이브2"에서 진행했다. ## n..
-
09. 쿠버네티스 핵심 개념 (4)24년 11월 이전/데브옵스(DevOps)를 위한 쿠버네티스 마스터 2021. 8. 5. 07:28
이 문서는 인프런 강의 "데브옵스를 위한 쿠버네티스 마스터"을 듣고 작성되었습니다. 최대한 요약해서 강의 내용을 최소로 하는데 목표를 두고 있어서, 더 친절하고 정확한 내용을 원하신다면 강의를 구매하시는 것을 추천드립니다. => 강의 링크 쿠버네티스 네트워크 (1) Pod - Container 통신 일반적으로 컨테이너 간 통신을 위한 도커 네트워크 구조는 다음과 같다. 각 컨테이너는 veth라는 가상의 네트워크 인터페이스를 통해서 통신을 한다. 반면에, 쿠버네티스에서 컨테이너 간 통신 구조는 살짝 다르다. 하나의 veth 가상 네트워크 인터페이스에 여러 컨테이너가 연결되어 있다. 그리고 pause라는 녀석이 옆에 붙어서 이들 통신을 지원해준다. VM에 다음을 입력해보자. $ sudo docker ps |..
-
08. 쿠버네티스 핵심 개념 (3)24년 11월 이전/데브옵스(DevOps)를 위한 쿠버네티스 마스터 2021. 7. 25. 19:42
이 문서는 인프런 강의 "데브옵스를 위한 쿠버네티스 마스터"을 듣고 작성되었습니다. 최대한 요약해서 강의 내용을 최소로 하는데 목표를 두고 있어서, 더 친절하고 정확한 내용을 원하신다면 강의를 구매하시는 것을 추천드립니다. => 강의 링크 네임스페이스 namespace란 물리 쿠버네티스 클러스터 내에서 동작하는 가상 쿠버네티스 클러스터이다. 약간 실제 물리서버에서 동작하는 VM과 성격이 비슷한데, 쉽게 생각해서 리소스들을 분리된 영역으로 격리시켜 관리하는 기술이다. 기본적으로 쿠버네티스 클러스터에는 다음의 4가지 네임스페이스가 자동으로 생성된다. $ kubectl get namespace NAME STATUS AGE default Active 15d kube-node-lease Active 15d kub..
-
07. 쿠버네티스 핵심 개념 (2)24년 11월 이전/데브옵스(DevOps)를 위한 쿠버네티스 마스터 2021. 7. 14. 21:16
이 문서는 인프런 강의 "데브옵스를 위한 쿠버네티스 마스터"을 듣고 작성되었습니다. 최대한 요약해서 강의 내용을 최소로 하는데 목표를 두고 있어서, 더 친절하고 정확한 내용을 원하신다면 강의를 구매하시는 것을 추천드립니다. => 강의 링크 ReplicationController ReplicationController는 Pod을 감시하고 있다가 문제가 발생할 때 대체 Pod을 생성하는 리소스이다. 가용성과 자가 치유를 할 수 있으며, 수동/자동으로 수평 스케일링도 가능하다. ReplicationController의 필수 요소는 다음과 같다. Label Selector Replicas Pod Template 어떻게 설정할 수 있는지 살펴보자 src/ch07/k8s/simple-app-rc-v1.yaml ap..
-
06. 쿠버네티스 핵심 개념 (1)24년 11월 이전/데브옵스(DevOps)를 위한 쿠버네티스 마스터 2021. 7. 9. 20:41
이 문서는 인프런 강의 "데브옵스를 위한 쿠버네티스 마스터"을 듣고 작성되었습니다. 최대한 요약해서 강의 내용을 최소로 하는데 목표를 두고 있어서, 더 친절하고 정확한 내용을 원하신다면 강의를 구매하시는 것을 추천드립니다. => 강의 링크 큐브 시스템 컴포넌트란 큐브 시스템 컴포넌트란 쿠버네티스(kubenetes) 시스템을 구성하는 중요 컴포넌트입니다. 그림으로 나타내면 다음과 같다. 마스터 노드(Control Plane Node)는 다음과 같이 구성되어 있다. etcd : 모든 클러스터 데이터를 담는 쿠버네티스의 저장소이다. kube-apiserver : Kubernetes API를 노출한다. 모든 컴포넌트는 이 컴포넌트를 통해서 통신한다. kube-scheduler : 생성된 Pod를 어떤 Node에..