티스토리 뷰
쿠버네티스란?
쿠버네티스란? 쿠버네티스는 프라이빗, 퍼블릭 및 하이브리드 클라우드 환경에서 리눅스 컨테이너를 관리하기 위해 사용되는 오픈 소스 플랫폼입니다. 기업은 쿠버네티스를 사용하여 마이크로 서비스 아키텍처를 관리할 수도 있습니다. 컨테이너와 쿠버네티스는 대부분의 클라우드 제공자에 배포할 수 있습니다. 애플리케이션 개발자, IT 시스템 관리자 및 DevOps 엔지니어는 쿠버네티스를 사용하여 노드 클러스터 간에 여러 애플리케이션 컨테이너를 자동으로 도입, 확장, 유지보수, 스케줄링 및 운용합니다. 컨테이너는 호스트 시스템의 공통 공유 운영 체제 위에서 실행되지만 사용자가 연결을 선택하지 않는 한 서로 격리됩니다. 쿠버네티스 인프라스트럭처의 기능은 다음과 같습니다. 쿠버네티스 기능의 첫번째는 보안입니다. 마스터 노드는 쿠버네티스 API를 실행하여 클러스터를 제어합니다. 컨트롤 플레인의 일부로 기능하며 클러스터 간의 통신 및 워크로드를 관리합니다. 미니언이라고도 하는 노드는 쿠버네티스의 워커 머신입니다. 물리적 시스템 또는 가상 시스템일 수 있습니다. 노드에는 포드를 실행하고 마스터 구성 요소로부터 관리 명령을 받는 데 필요한 서비스가 있습니다. 노드에서 볼 수 있는 서비스에는 도커, kube-proxy 및 kubelet이 있습니다. 보안은 클라우드, 클러스터, 컨테이너 및 코드의 4가지 계층으로 나뉩니다. 보다 강력한 보안 대책은 정기적으로 작성, 테스트 및 구현됩니다. 쿠버네티스 기능의 두번째는 원격 측정입니다. 서비스라는 추상화는 클러스터 전체에서 실행되는 자동으로 구성된 로드 밸런서 및 인테그레이터입니다. 라벨은 서비스 발견에 사용되는 키 및 값 쌍입니다. 레이블은 컨테이너에 태그를 지정하고 그룹으로 연결합니다. 쿠버네티스 기능의 세번째는 네트워킹입니다. 쿠버네티스는 애플리케이션 간에 머신을 공유하는 것에 관한 것입니다. 각 포드가 자체 IP 주소를 얻으면 깨끗하고 하위 호환 모델이 생성됩니다. 포드는 포트 할당, 이름 지정, 서비스 검색, 로드 밸런싱, 애플리케이션 구성 및 마이그레이션 측면에서 가상 머신과 동일하게 취급할 수 있습니다. 쿠버네티스 기능의 네번째는 레지스트리 Amazon Elastic Container Registry와 쿠버네티스는 직접 연결되어 있습니다. 포드를 만들 수 있는 클러스터의 각 사용자는 ECR 레지스트리의 이미지를 사용하는 모든 포드를 실행할 수 있습니다. 이러한 쿠버네티스의 장점에 대해서 알아보겠습니다. 쿠버네티스를 사용하면 컨테이너를 예약, 실행 및 모니터링하고 관련 운영 작업을 자동화할 수 있습니다. 여기에는 다음이 포함됩니다. 쿠버네티스의 장점 첫번째는 도입입니다. 컨테이너 배포의 기본 설정 상태를 설정하고 수정합니다. 사용자는 새 컨테이너 인스턴스를 생성하고 기존 컨테이너 인스턴스를 해당 인스턴스로 마이그레이션하고 이전 컨테이너 인스턴스를 제거할 수 있습니다. 쿠버네티스의 장점 두번째는 컨테이너 상태를 지속적으로 점검하고 실패한 컨테이너를 다시 시작하고 응답하지 않는 컨테이너를 제거합니다. 쿠버네티스의 장점 세번째는 로드 밸런싱입니다. 로드 밸런싱을 수행하여 트래픽을 여러 컨테이너 인스턴스에 분산합니다. 쿠버네티스의 장점 네번째는 스토리지입니다. 로컬 스토리지에서 클라우드 리소스에 이르기까지 컨테이너 데이터에 대한 다양한 스토리지 유형을 처리합니다. 쿠버네티스의 장점 다섯번째는 최적화입니다. 리소스 최적화와 같은 컨테이너 배포에 인텔리전스 수준을 추가합니다. 사용 가능한 노드와 컨테이너에 필요한 리소스를 식별하고 컨테이너를 자동으로 해당 노드에 맞춥니다. 쿠버네티스의 장점 여섯번째는 보안입니다. 비밀번호, 토큰, SSH 키 및 기타 중요한 정보를 관리합니다. 다만 쿠버네티스는 과제도 존재하는데요. 쿠버네티스는 조직이 도입할 스토리지 모델을 결정함에 따라 기존 IT 부문 내에서 역할과 책임의 변경이 필요한 경우가 많습니다. 대규모 조직에서는 소규모 조직과 다른 과제가 발생합니다. 이러한 과제는 종업원 수, 확장성, 인프라스트럭처에 따라 달라집니다. 먼저 어려운 DIY입니다. 일부 기업은 오픈 소스 쿠버네티스를 지원할 숙련된 직원과 리소스가 있는 경우 직접 실행할 수 있는 유연성을 원합니다. 그 외의 많은 기업은 IT팀의 도입과 관리를 심플화하기 위해서는 보다 광범위한 쿠버네티스 에코시스템으로부터 서비스 패키지를 선택합니다. 그리고 부하 스케일링입니다. 컨테이너 내의 애플리케이션 조각은 부하가 걸린 상태에서는 크기가 다를 수 있습니다. 이는 컨테이너 전개 방법이 아닌 애플리케이션의 기능입니다. 조직은 팟과 노드의 균형을 맞추는 방법을 고려해야 합니다. 다음으로 분산된 복잡성입니다. 컨테이너에 애플리케이션 컴포넌트를 배포하면 기능을 유연하게 확장하거나 축소할 수 있습니다. 그러나 분산된 애플리케이션 컴포넌트가 너무 많으면 복잡성이 증가하고 네트워크 지연 시간에 영향을 미쳐 가용성을 저하시킬 수 있습니다. 또한, 감시 및 관찰 가능성입니다. 조직이 프로덕션에서 더 많은 워크로드를 처리하기 위해 컨테이너 구축 및 조정을 확장함에 따라 배후에서 무슨 일이 벌어지고 있는지 파악하는 것이 점점 더 어려워지고 있습니다. 이로 인해 성능과 보안을 위해 쿠버네티스 스택의 다양한 계층과 플랫폼 전체를 더 잘 감시해야 할 필요성이 높아졌습니다. 마지막으로 미묘한 보안입니다. 컨테이너를 실전 가동 환경에 도입하면 코드에 대한 취약성 분석, 멀티팩터 인증, 여러 상태 비저장 구성 요청 동시 처리 등 다양한 수준의 보안과 컴플라이언스가 추가됩니다. 특히 채택이 확대되고 컨테이너를 실전 가동 환경에 도입하는 조직이 많아짐에 따라 적절한 구성과 접근 제어가 중요합니다. 쿠버네티스는 또한 핵심 쿠버네티스 플랫폼에서 보안 취약점을 발견한 사람들에게 보상하기 위한 버그 보상 프로그램도 가지고 있습니다. 지금까지 쿠버네티스의 기능과 장점에 대해서 알아봤습니다.