인프런
-
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당 ..
-
13. 리소스 로깅과 모니터링24년 11월 이전/데브옵스(DevOps)를 위한 쿠버네티스 마스터 2021. 8. 30. 21:07
이 문서는 인프런 강의 "데브옵스를 위한 쿠버네티스 마스터"을 듣고 작성되었습니다. 최대한 요약해서 강의 내용을 최소로 하는데 목표를 두고 있어서, 더 친절하고 정확한 내용을 원하신다면 강의를 구매하시는 것을 추천드립니다. => 강의 링크 쿠버네티스 모니터링 아키텍처 k8s의 모니터링 아키텍처는 다음과 같다. 기본적으로 k8s에서의 메트릭 수집은 다음 컴포넌트들로 데이터를 수집한다. metrics-server (kubectl top 명령어 사용 가능, 단기 메모리 저장소) cAdvisor (컨테이너 메트릭 수집) 로그는 Docker가 저장하는 로그를 수집한다. 경로는 다음과 같다. /var/lib/docker/containers//-json.log 이러한 것들을 이용해서 k8s의 모니터링 시스템을 구축할..
-
12. 애플리케이션 스케줄링과 라이프사이클 관리 (2)24년 11월 이전/데브옵스(DevOps)를 위한 쿠버네티스 마스터 2021. 8. 20. 20:48
이 문서는 인프런 강의 "데브옵스를 위한 쿠버네티스 마스터"을 듣고 작성되었습니다. 최대한 요약해서 강의 내용을 최소로 하는데 목표를 두고 있어서, 더 친절하고 정확한 내용을 원하신다면 강의를 구매하시는 것을 추천드립니다. => 강의 링크 컨테이너 리소스 요청과 제한하는 방법 이번 절은 GCP에서 진행한다. k8s에서 컨테이너 생성 시 CPU, 메모리를 요청 및 제한할 수 있다. request : 최소 스펙 요청 사항 limit : 최대 리소스 제한 CPU는 다음 단위를 사용한다. m (0.1 = 100m) 메모리는 다음 단위를 사용한다. Ti (1024 ^ 4) Gi (1024 ^ 3) Mi (1024 ^ 2) Ki (1024) T (1000 ^ 4) G (1000 ^ 3) M (1000 ^ 2) K ..
-
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 |..
-
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..