DevOps/Kubernetes
-
[Kubernetes] ObjectsDevOps/Kubernetes 2022. 1. 11. 19:38
Kubernetes Objects Pod 가장 작은 배포 단위 쿠버네티스는 컨테이너를 직접 관리하지 않고 Pod으로 감싸서 관리함 전체 클러스터에서 Pod 별로 고유한 IP 할당 하나의 Pod 안에 여러 개의 컨테이너가 속할 수 있음 ReplicaSet 여러 개의 Pod를 관리 새로운 Pod은 Template을 참고하여 생성 새로운 Pod을 생성하거나 기존의 Pod을 제거하여 원하는 Replica 수를 유지함 Deployment 배포 버전 관리 무중단 배포를 위해 내부적으로 ReplicaSet을 이용 Service ClusterIP 클러스터 내부에서 사용하는 프록시 → 클러스터 내부의 Pod들을 로드밸런서하는 서비스 Pod은 동적이지만, 서비스는 고유 IP를 가짐 Pod이 업데이트될 때, 자신의 IP를 ..
-
[Kubernetes] ArchitectureDevOps/Kubernetes 2022. 1. 11. 17:14
Desired State Desired State는 쿠버네티스의 가장 중요한 핵심이다. 쿠버네티스는 원하는 상태를 계속 체크하고 차이점이 있다면 자동으로 조치를 한다. 여기서 원하는 상태(Desired State)는 관리자가 바라는 환경을 의미하고, 좀 더 구체적으로 몇 개의 웹 서버를 구동시킬 것인지, 몇번 포트로 서비스할 것인지 등에 대한 정보를 말한다. Desired State를 설정하는 방법 쿠버네티스에서는 YAML 또는 JSON 파일을 사용해 원하는 상태(Desired State)에 대해 명시적으로 설정할 수 있다. 쿠버네티스는 작성 파일에 정의된 사양(spec)에 따라 컨테이너의 라이프사이클을 관리한다. Architecture 쿠버네티스의 아키텍처는 크게 마스터 노드(Master Node)와 ..
-
[Kubernetes] Container OrchestrationDevOps/Kubernetes 2022. 1. 9. 17:57
Background 서버를 관리한다는 것은 ❔❔ 서버를 관리한다는 것은 서버 상태를 관리한다는 말이다. 즉, 서버 관리자가 서버에 문제가 없도록, 서버가 죽지 않도록 관리하는 것이다. 서버가 언제 어떠한 이유로 죽을지 모르기 때문에 서버 관리자가 서버 상태를 모두 관리하는 것은 굉장히 어려운 일이다. 그래서 서버 관리를 간편하게 하기 위한 다양한 방법들이 등장했다. 문서화 서버의 현재 상태, 리소스 사용량, 프로그램 설치 방법 등을 문서화함으로써 서버를 관리할 수 있다. 하지만 문서를 아무리 잘 만들었다고 해도 업데이트가 안 될 수도 있고, OS나 버전 등 환경이 바뀌면 문서가 무용지물될 수 있다. 서버 관리 도구 문서화의 관리가 힘들다는 단점을 보완하기 위해 CHEF, Puppet, Ansible과 같..