Infrastructure/Kubernetes (46) 썸네일형 리스트형 [컨테이너] 런타임클래스 런타임클래스(RuntimeClass) 쿠버네티스 공식문서를 확인하며 런타임클래스에 대해서 기억해야 하는 부분을 기록한다. 런타임클래스는 컨테이너 런타임 구성을 선택하는 기능으로 파드의 컨테이너를 실행하는 데 사용된다. 동기 서로 다른 파드간에 런타임클래스를 설정하여 성능과 보안의 균형을 유지할 수 있다. 일부 작업에서 높은 수준의 정보 보안 보증이 요구되는 경우, 하드웨어 가상화를 이용하는 컨테이너 런타임으로 파드를 실행하도록 예약하는 것을 선택할 수 있다. 이러한 작업은 몇가지 추가적인 오버헤드가 있지만 대체 런타임을 추가 분리하는 이익이 있다. 런타임클래스를 사용하여 컨테이너 런타임이 같으나 설정이 다른 여러 파드를 실행할 수 있다. [정리] 런타임클래스는 컨테이너 런타임을 구성하기 위해 사용되고 서.. [컨테이너] 이미지 이미지 쿠버네티스 공식문서를 확인하며 컨테이너 이미지에 대해서 기억해야 하는 부분을 기록한다. 컨테이너 이미지는 애플리케이션과 모든 소프트웨어 의존성을 캡슐화하는 바이너리 데이터를 나타낸다. 컨테이너 이미지는 독립적으로 실행할 수 있고 런타임 환경에 대해 잘 정의된 가정을 만드는 실행 가능한 소프트웨어 번들이다. 일반적으로 파드에서 참조하기 전에 애플리케이션의 컨테이너 이미지를 생성해서 레지스트리로 푸시한다. 이미지 이름 컨테이너 이미지는 일반적으로 pause, example/mycontainer 또는 kube-apiserver와 같은 이름을 부여하며 이름에는 레지스트리 호스트와 포트 번호까지 포함될 수 있다. 레지스트리 호스트 이름을 지정하지 않으면, 쿠버네티스는 도커 퍼블릭 레지스트리를 의미한다고 가.. [클러스터 아키텍처] 컨테이너 런타임 인터페이스(CRI) 컨테이너 런타임 인터페이스(CRI) 쿠버네티스 공식문서를 확인하며 CRI(컨테이너 런타임 인터페이스)에 대해서 기억해야 하는 부분을 기록한다. CRI는 클러스터 컴포넌트를 다시 컴파일 하지 않아도 Kubelet이 다양한 컨테이너 런타임을 사용할 수 있도록 하는 플러그인 인터페이스다. 클러스터의 모든 노드에 동작 중인 컨테이너 런타임이 존재해야, kubelet이 파드들과 컨테이너들을 구동할 수 있다. CRI는 kubelet과 컨테이너 런타임 사이의 통신을 위한 주요 프로토콜이다. 쿠버네티스 CRI는 클러스터 컴포넌트 kubelet과 컨테이너 런타임 사이의 통신을 위한 주요 gRPC 프로토콜의 정의한다. API kubelet은 gRPC를 통해 컨테이너 런타임과 연결할 때 클라이언트의 역할을 수행한다. 런타임.. [클러스터 아키텍처] 가비지 수집 가비지 수집 쿠버네티스 공식문서를 확인하며 가비지 수집에 대해서 기억해야 하는 부분을 기록한다. 가비지 수집은 쿠버네티스가 클러스터의 자원을 정리하기 위해 사용하는 다양한 방법을 종합한 용어로 아래와 같은 리소스를 정리한다. 실패한 파드 종료된 잡 소유자 참조가 없는 오브젝트 사용되지 않는 컨테이너와 컨테이너 이미지 반환 정책이 삭제인 스토리지클래스에 의해 동적으로 생성된 퍼시스턴트볼륨 Stale 또는 만료된 CertificateSigningRequests(CSRs) 노드는 아래와 같은 상황에서 삭제된다. 클러스터가 클라우드 컨트롤러 매니저를 사용하는 클라우드 클러스터가 클라우드 컨트롤러 매니저와 유사한 애드온을 사용하는 온프레미스 노드 리스(Lease) 오브젝트 소유자(Owners)와 종속(Depend.. [클러스터 아키텍처] cgroup v2 cgroup v2 쿠버네티스 공식문서를 확인하며 cgroup v2에 대해서 기억해야 하는 부분을 기록한다. 리눅스에서는 통제 그룹(control group) 프로세스에 할당되는 리소스를 제한한다. kubelet 기본 컨테이너 런타임은 cgroup과 인터페이스하여 컨테이너화 된 워크로드에 대한 CPU/Memory 요청 및 제한과 같은 리소스 관리를 해야 한다. 리눅스에는 cgroup v1 및 cgroup v2 두 가지 버전이 존재하고 여기서 cgroup v2가 cgroup API의 새로운 버전이다. cgroup v2는 무엇인가 cgroup v2는 Linux cgroup API의 다음 버전으로 cgroup v2는 기존에 비해 향상된 리소스 관리 기능을 갖춘 통합 제어 시스템을 제공한다. cgroup v2는 .. [클러스터 아키텍처] 클라우드 컨트롤 매니저 클라우드 컨트롤 매니저 쿠버네티스 공식문서를 확인하며 클라우드 컨트롤 매니저에 대해서 기억해야 하는 부분을 기록한다. 클라우드 인프라스트럭처 기술을 통해 퍼블릭, 프라이빗 그리고 하이브리드 클라우드에서 쿠버네티스를 실행할 수 있다. 쿠버네티스는 컴포넌트간의 긴밀한 결합없이도 자동화된 API 기반의 인프라스트럭처를 신뢰한다. 클라우드 컨트롤 매니저는 클라우드별 컨트롤 로직을 포함하는 컨트롤 플레인의 컴포넌트이다. 클라우드 컨트롤 매니저를 통해 클러스터를 클라우드 공급자의 API에 연결하고, 해당 클라우드 플랫폼과 상호 작용하는 컴포넌트와 클러스터와 상호 작용하는 컴포넌트를 구분할 수 있게 해준다. 쿠버네티스와 기본 클라우드 인프라스트럭처 간의 상호 운용성 로직을 분리함으로써, cloud-controller.. [클러스터 아키텍처] 컨트롤러 컨트롤러 쿠버네티스 공식문서를 확인하며 컨트롤러에 대해서 기억해야 하는 부분을 기록한다. “컨트롤 루프”는 로보틱스와 자동화에서 시스템 상태를 조절하는 종료되지 않는 루프이며 실내 온도 조절기 등에서 사용된다. 사용자는 원하는 온도(의도한 상태)를 온도 조절기에 알려주고 온도 조절기는 장비를 켜거나 꺼서 현재 상태를 사용자가 원하는 상태로 가깝게 하기 위해 작동한다. 쿠버네티스 컨트롤러는 클러스터의 상태를 관찰한 다음, 필요한 경우에 생성 또는 변경을 요청하는 컨트롤 루프로, 현재 클러스터 상태를 사용자가 의도한 상태에 가깝게 하기 위해 작동한다. 컨트롤러 패턴 컨트롤러는 적어도 하나 이상의 쿠버네티스 리소스 유형을 추적한다. 오브젝트는 의도한 상태를 표현하는 사양 필드를 가지고 있으며 현재 상태를 의도.. [클러스터 아키텍처] 컨트롤 플레인-노드 간 통신 쿠버네티스 공식문서를 확인하며 컨트롤 플레인-노드 간 통신에 대해서 기억해야 하는 부분을 기록한다. API 서버와 클러스터 사이에 대한 통신 경로의 목록을 알아본다. 사용자가 신뢰할 수 없는 네트워크나 클라우드 공급자의 완전 퍼블릭 IP에서 클러스터를 실행할 수 있도록 네티워크 구성을 강화하기 위한 설비를 할 수 있도록 한다. 노드에서 컨트롤 플레인으로의 통신 쿠버네티스에는 “허브 앤 스포크(hub-and-spoke)” API 패턴을 가지고 있다. 노드와 파드의 모든 API 사용은 API 서버에서 종료된다. 다른 컨트롤 플레인 컴포넌트 중 어느 것도 원격 서비스를 노출하도록 설계되지 않았다. API 서버는 하나 이상의 클라이언트 인증 형식이 활성화된 보안 HTTPS 포트에서 원격 연결을 수신하도록 구성된.. 이전 1 2 3 4 5 6 다음