24년 11월 이전/데브옵스(DevOps)를 위한 쿠버네티스 마스터
-
17. 클러스터 유지와 보안 트러블 슈팅 (3)24년 11월 이전/데브옵스(DevOps)를 위한 쿠버네티스 마스터 2021. 9. 8. 20:49
이 문서는 인프런 강의 "데브옵스를 위한 쿠버네티스 마스터"을 듣고 작성되었습니다. 최대한 요약해서 강의 내용을 최소로 하는데 목표를 두고 있어서, 더 친절하고 정확한 내용을 원하신다면 강의를 구매하시는 것을 추천드립니다. => 강의 링크 Security Context Security Context는 Kubernetes 클러스터의 보안을 위한 리소스 중 하나이다. 아무것도 설정되지 않은 Pod의 컨테이너들은 모두 "root" 권한으로 실행된다. 만약 Persistent Volume에 연결된 컨테이너가 해킹된다면? 이런 경우 외에도 수 많은 보안 위험에 노출될 수 있는데 Security Context를 사용하면 어느 정도 보호해줄 수 있다. Security Context로 Pod 혹은 컨테이너 단위로 할 ..
-
16. 클러스터 유지와 보안 트러블 슈팅 (2)24년 11월 이전/데브옵스(DevOps)를 위한 쿠버네티스 마스터 2021. 9. 8. 19:09
이 문서는 인프런 강의 "데브옵스를 위한 쿠버네티스 마스터"을 듣고 작성되었습니다. 최대한 요약해서 강의 내용을 최소로 하는데 목표를 두고 있어서, 더 친절하고 정확한 내용을 원하신다면 강의를 구매하시는 것을 추천드립니다. => 강의 링크 TLS 통신의 이해와 인증서 위치 확인 Kubernetes에서 사용자를 제어하기 위해서 TLS 통신 방식을 이용한다. TLS는 기존 통신 계층에 대해서 조금 더 보안이 높은 통신을 위해 만들어졌다. 즉, 4계층인 Transport Layer(TCP)와 7 계층인 Application Layer(HTTP) 사이에서 동작한다. 다음과 같은 기능이 있다. 데이터 암호화 데이터 무결성 서버/클라이언트 인증 다음은 HTTP에 TLS 통신 방식을 곁들인 HTTPS 통신 방식의 흐..
-
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..