Kubernetes(약어로 K8s)은 컴퓨터 네트워크를 통해 컨테이너화된 애플리케이션을 관리하고 배포하는 데 사용되는 오픈 소스 시스템입니다. Kubernetes 원래 Google에서 개발했으며 현재 대규모 개발자 커뮤니티에서 유지 관리하는 인기 있고 강력한 컨테이너 관리 플랫폼이 되었습니다.
Kubernetes include 의 주요 기능
-
컨테이너 관리 : Kubernetes 애플리케이션과 해당 리소스를 containers. Containers 경량 환경을 제공하고 애플리케이션이 모든 시스템에서 일관되게 실행되도록 보장합니다.
-
자동화된 배포 : Kubernetes 애플리케이션과 서비스의 자동화된 배포와 손쉬운 확장을 가능하게 합니다. 리소스 요구 사항, 인스턴스 수를 지정할 수 있으며 Kubernetes 자동으로 원하는 상태를 유지합니다.
-
리소스 관리 : K8s는 CPU, 메모리, 스토리지 등 서버 리소스를 관리하여 애플리케이션이 과도한 리소스를 소비하지 않고 서로 간섭하지 않도록 합니다.
-
자동 복구 및 내결함성 : Kubernetes 애플리케이션이 오류로부터 자동으로 복구되도록 돕습니다. 새 버전에 문제가 발생하면 자동으로 이전 버전의 애플리케이션으로 롤백할 수 있습니다.
-
로드 밸런싱 및 트래픽 분산 : Kubernetes 서로 다른 서버에 있는 애플리케이션 인스턴스 간에 트래픽을 고르게 분산하는 메커니즘을 제공합니다 nodes. 이렇게 하면 성능이 향상되고 확장성이 보장됩니다.
-
구성 및 비밀 관리 : Kubernetes K8s Secrets 및 ConfigMaps와 같은 기능을 사용하여 애플리케이션 구성 및 비밀을 안전하게 관리할 수 있습니다.
다음 의 작동 메커니즘은 Kubernetes 다음과 같습니다.
-
Nodes: 네트워크에 있는 서버나 개별 컴퓨터를 "이라고 합니다 nodes. nodes in에는 Kubernetes 마스터 노드와 워커 노드 의 두 가지 유형이 있습니다. 마스터 노드는 전체 시스템을 관리하고 제어하며, 워커 노드는 실행 containers 과 응용을 담당합니다.
-
Pods: 포드는 에서 배포 가능한 가장 작은 단위입니다 Kubernetes. Pod는 하나 또는 여러 개를 포함할 수 containers 있지만 동일한 네트워크 스토리지와 수명 주기를 공유합니다. 이는 containers 포드 내에서 통신을 용이하게 합니다.
-
Controller: 컨트롤러는 의 복제본을 관리하고 유지하는 구성 요소입니다 pods. 컨트롤러 유형에는 ReplicaSet(올바른 개수 확인 pods 및 필요한 경우 다시 시작), 배포(애플리케이션 버전 및 업데이트 관리) 및 StatefulSet(상태 저장 애플리케이션 배포용)이 포함됩니다.
-
Service: 서비스는 로드 밸런싱 및 트래픽 분산을 위한 메커니즘입니다 pods. pods 서비스를 사용하면 특정 위치를 알 필요 없이 애플리케이션에 쉽게 액세스할 수 있습니다 .
-
Kubelet: Kube Proxy 은 각 작업자 노드에서 실행되며 해당 노드 Kubelet 관리를 담당하는 구성 요소입니다. 에 연결하기 위한 네트워크 프록시입니다. pods Kube Proxy pods
결과적으로 Kubernetes 컨테이너화된 애플리케이션의 배포 및 관리를 자동화하여 복잡한 시스템을 유지 관리하는 데 필요한 시간과 노력을 줄입니다.