728x90
본 포스팅은 Kubernetes Official Documents를 기반으로 한다. 리스(Lease) 분산 시스템에는 종종 공유 리소스를 잠그고 노드 간의 활동을 조정하는 메커니즘을 제공하는 "리스(Lease)"가 필요하다. 쿠버네티스에서 "리스" 개념은 coordination.k8s.io API 그룹에 있는 Lease 오브젝 kubernetes.io # Lease 분산 시스템에는 종종 공유 리소스를 잠그고 노드 간의 활동을 조정하는 매커니즘을 제공하는 "리스"가 필요하다. 쿠버네티스에서 "리스" 개념은 coordination.k8s.io API 그룹에 있는 Lease 오브젝트로 표현되며, 노드 하트비트 및 컴포넌트 수준의 리더 선출과 같은 시스템 핵심 기능에서 사용된다. 노드 하트비트 쿠버네티스는 리스..
쿠버네티스 클러스터 구축을 위한 가상머신 세팅 - Vagrant & VMware Workstation 사용 언젠간 해봐야지 하고 미뤄뒀던 로컬 쿠버네티스 클러스터 구축을 시도한 과정을 공유하고자 한다. 이번 포스팅에서는 쿠버네티스 클러스터 구축을 위한 가상머신 세팅 과정을 담고 있다. 다음 alive-wong.tistory.com 이전 글에 이어서 Vagrant로 프로비저닝된 Ubuntu 20.04 가상 머신들을 통해서 쿠버네티스 클러스터를 구축하는 과정을 공유한다. 기존 Vagrantfile 또한 활용하여 가상머신에서 할 일을 최소하하여 클러스터를 구축하는 것이 목적이다. # 쿠버네티스 클러스터 구축 방법 우선 쿠버네티스 클러스터를 구축하기 위해 필요한 요소들과 방법들을 간략하게 정리한다. 쿠버네티스 ..
언젠간 해봐야지 하고 미뤄뒀던 로컬 쿠버네티스 클러스터 구축을 시도한 과정을 공유하고자 한다. 이번 포스팅에서는 쿠버네티스 클러스터 구축을 위한 가상머신 세팅 과정을 담고 있다. 다음 포스팅에선 구성한 가상머신을 통해 쿠버네티스 클러스터를 구축하는 과정을 공유할 예정이다. HyperVisor는 기존의 VMware Workstation 17을 사용하고, Vagrant를 사용하여 자동화와 확장성을 확보하여 클러스터에서 사용할 가상머신들을 프로비저닝했다. Vagrant는 Virtual Box와 연동성이 좋지만, 원래 사용하던 VMware Workstation 17에 익숙하기도 하고 이를 삭제하고 싶지 않아서 Virtual Box를 사용하지 않았다. # 구성 Specification Local K8s Clust..
본 포스팅은 Kubernetes Official Documents를 기반으로 한다. 노드 쿠버네티스는 컨테이너를 파드내에 배치하고 노드 에서 실행함으로 워크로드를 구동한다. 노드는 클러스터에 따라 가상 또는 물리적 머신일 수 있다. 각 노드는 컨트롤 플레인에 의해 관리되며 kubernetes.io # 노드 쿠버네티스는 컨테이너를 파드 내에 배치하고, 노드에서 실행함으로 워크로드를 구동한다. 노드는 클러스터에 따라 가상 또는 물리적 머신일 수 있다. 각 노드는 컨트롤 플레인에 의해 관리되며 파드를 실행하는 데 필요한 서비스를 포함한다. 일반적으로 클러스터에서는 여러 개의 노드가 존재한다. 노드의 컴포넌트에는 kubelet, CRI, kube-proxy가 포함된다. # 관리 API Server에 노드를 추가..
본 포스팅은 Kubernetes Official Documents를 기반으로 한다. Owners and Dependents In Kubernetes, some objects are owners of other objects. For example, a ReplicaSet is the owner of a set of Pods. These owned objects are dependents of their owner. Ownership is different from the labels and selectors mechanism that some resources also use kubernetes.io # 소유자와 종속 항목 - Owners and Dependents 쿠버네티스에서, 일부 Object는 다..
본 포스팅은 Kubernetes Official Documents를 기반으로 한다. 필드 셀렉터필드 셀렉터 는 한 개 이상의 리소스 필드 값에 따라 쿠버네티스 리소스를 선택하기 위해 사용된다. 필드 셀렉터 쿼리의 예시는 다음과 같다. metadata.name=my-service metadata.namespace!=default status.phase=Pekubernetes.io# Field Selector필드 셀렉터는 한 개 이상의 리소스 필드 값에 따라 쿠버네티스 리소스를 선택하기 위해 사용된다. 필드 셀력터 쿼리의 예시는 아래와 같다. metadata.name=my-servicemetadata.namespace!=defaultstatus.phase=Pending다음의 ..
본 포스팅은 Kubernetes Official Documents를 기반으로 한다. https://kubernetes.io/ko/docs/concepts/overview/working-with-objects/namespaces/ 네임스페이스 쿠버네티스에서, 네임스페이스 는 단일 클러스터 내에서의 리소스 그룹 격리 메커니즘을 제공한다. 리소스의 이름은 네임스페이스 내에서 유일해야 하며, 네임스페이스 간에서 유일할 필요는 kubernetes.io # Namespace 네임스페이스는 쿠버네티스에서 단일 클러스터 내에서의 리소스 그룹 격리 메커니즘을 제공한다. 리소스의 이름은 네임스페이스 안에서 유일해야 하지만, 네임스페이스 간에는 유일할 필요는 없다. 네임스페이스 기반 스코핑은 네임 스페이스 기반 오브젝트(예..
본 포스팅은 Kubernetes Official Documents를 기반으로 한다. https://kubernetes.io/ko/docs/concepts/overview/working-with-objects/names/ 오브젝트 이름과 ID 클러스터의 각 오브젝트는 해당 유형의 리소스에 대하여 고유한 이름 을 가지고 있다. 또한, 모든 쿠버네티스 오브젝트는 전체 클러스터에 걸쳐 고유한 UID 를 가지고 있다. 예를 들어, 이름이 mya kubernetes.io # 오브젝트 이름과 ID 클러스터의 각 오브젝트는 해당 유형의 리소스에 대하여 고유한 이름을 가지고 있다. 또한, 모든 쿠버네티스 오브젝트는 전체 클러스터에 걸쳐 고유한 UID를 갖고 있다. 예를 들어 이름이 `myapp-1234`인 파드는 동일한..
본 포스팅은 Kubernetes Official Documents를 기반으로 한다. 쿠버네티스 오브젝트 관리 kubectl 커맨드라인 툴은 쿠버네티스 오브젝트를 생성하고 관리하기 위한 몇 가지 상이한 방법을 지원한다. 이 문서는 여러가지 접근법에 대한 개요를 제공한다. Kubectl로 오브젝트 관리하기에 대 kubernetes.io # Kubernets Object Management kubectl CLI 툴은 쿠버네티스 오브젝트를 생성하고 관리하기 위한 몇 가지 방법을 지원한다. 이 포스팅에서는 해당 방법에 대한 개요를 소개하고, 장단점을 살펴본다. kubectl로 오브젝트 관리하기에 대한 자세한 설명은 아래 글에서 확인이 가능하다. SIG CLI Documentation for Kubectl and ..
본 포스팅은 Kubernetes Official Documents를 기반으로 한다. 쿠버네티스 오브젝트 이해하기 이 페이지에서는 쿠버네티스 오브젝트가 쿠버네티스 API에서 어떻게 표현되고, 그 오브젝트를 어떻게 .yaml 형식으로 표현할 수 있는지에 대해 설명한다. 쿠버네티스 오브젝트 이해하기 쿠버네티 kubernetes.io 본 포스팅에서는 쿠버네티스 오브젝트가 쿠버네티스 API에서 어떻게 표현되고, 그 오브젝트를 어떻게 .yaml 형식으로 표현할 수 있는지에 대해 설명한다. # Kubernetes Object 이해하기 쿠버네티스 오브젝트는 쿠버네티스 시스템에서 영속성을 가지는 오브젝트이다. 쿠버네티스는 클러스터의 상태를 나타내기 위해 이 오브젝트를 사용한다. 구체적으로 말하면, 다음과 같이 기술이..