본문 바로가기

반응형

전체 글

쿠버네티스(Kubernetes) Pod Quality of Service (QoS) ■ 쿠버네티스(Kubernetes) Pod Quality of Service (QoS) 개요QoS (Quality of Service)는 기본적으로 전체 서비스에 대한 품질을 보장하는 것이 아닌, 중요도가 높은 서비스의 품질을 보장 하는 기술을 의미한다. 쿠버네티스에서도 동일한 의미로 해당 기술을 사용하며, 노드에 충분한 가용 리소스가 없을 경우 QoS를 사용하여 Pod를 노드에서 제거하여 가용 리소스 확보를 목적으로 사용한다.Memory QoS는 Kubernetes에서 메모리 자원을 보장하기 위해 cgroup v2의 메모리 컨트롤러를 사용 함.쿠버네티스에서 기본적으로 Pod 생성 시 예외없이 QoS Class (Guaranteed, Burstable, BestEffort) 3개중 하나를 부여하여 Pod.. 더보기
쿠버네티스(Kubernetes) NameSpace ■ 쿠버네티스(Kubernetes) NameSpace 개요 쿠버네티스 클러스터 내에서 리소스를 논리적으로 분리하는 방법이며, 네임스페이스는 고유한 이름을 가지며, 해당 네임스페이스 내에서만 오브젝트를 생성하고 관리할 수 있습니다네임스페이스는 클러스터 자원을 (리소스 쿼터를 통해) 여러 사용자 사이에서 나누는 방법이다.리소스의 이름은 네임스페이스 내에서 유일해야 하며, 네임스페이스 간에서 유일할 필요는 없음.네임스페이스 기반 오브젝트 (예: 디플로이먼트, 서비스 등)는 해당 네임스페이스 내에서만 존재하고 관리되고, 클러스터 범위 오브젝트 (스토리지, 노드, 퍼시스턴트 볼륨)는 네임스페이스와 상관없이 전체 클러스터에서 공유됨동일한 소프트웨어의 다른 버전과 같이 약간 다른 리소스를 분리하기 위해 여러 네임스페.. 더보기
쿠버네티스(Kubernetes) Label & Annotation ■ 쿠버네티스(Kubernetes) Label & Annotation 개요Label파드와 같은 오브젝트에 첨부된 키와 값의 쌍오브젝트의 특성을 식별하는 데 사용되어 사용자에게 중요하지만, 코어 시스템에 직접적인 의미는 없음.오브젝트를 생성할 때에 붙이거나 생성 이후에 붙이거나 언제든지 수정이 가능하다. 오브젝트마다 키와 값으로 레이블을 정의할 수 있으며 오브젝트에 붙이는 키 값은 고유한 값이어야 한다.레이블은 UI와 CLI에서 효율적인 쿼리를 사용하고 검색에 사용하기에 적합하며, 식별되지 않는 정보는 어노테이션으로 기록 한다.Annotation어노테이션도 레이블과 같이 키와 값의 쌍의 정보를 사용함.레이블을 사용하여 오브젝트를 선택하고, 특정 조건을 만족하는 오브젝트 컬렉션을 찾을 수 있다. 반면에, 어.. 더보기
쿠버네티스(Kubernetes) Pod 설계 디자인 ■ Pod 설계 디자인single-container design pattern하나의 파드 안에 하나의 컨테이너가 동작하는 형태. 가장 일반적인 형태 multi-container design pattern하나의 파드 안에 여러개의 컨테이너가 동작하는 형태 파드에 포함되어 있는 컨테이너는 IP / Port를 공유하기 때문에 같은 Port를 사용하는 서비스와 같이 배포해서는 안된다전체 서비스를 기능 단위로 분산하고 파드를 최소 배포 단위로 구성하는 쿠버네티스 설계 사상에 맞춰 밀접한 연관성을 가지는 서비스와 묶어서 배포 해야 한다. 멀티-컨테이너 구성은 메인 프로세스를 네트워크 또는 스토리지의 밀접한 공유가 필요한 다른 컨테이너와 함께 운영하고자 할 때 적합하다. ■ 멀티-컨테이너 설계 디자인 종류 사이드카(.. 더보기
쿠버네티스(Kubernetes) Pod 생성과 관리 ■ 쿠버네티스 오브젝트(Object)의 이해 오브젝트는 하나의 "의도를 담은 레코드" 이며, 쿠버네티스 시스템 내에서 상태정보가 변경되지 않는 영속성을 가지고, 영속성 보장을 위해 쿠버네티스 시스템이 지속적으로 작동함쿠버네티스는 클러스터의 상태를 나타내기 위해 오브젝트를 활용 한다컨테이너화된 애플리케이션의 동작 여부와 동작하는 노드 정보 컨테이너화된 애플리케이션이 사용할 수 있는 리소스 재구동 정책, 업데이트 및 내고장성과 같은 정책 정의오브젝트는 " spec "과 " status " 2개의 필드로 구성되어 있으며, spec을 사용하여 오브젝트 생성 시 쿠버네티스 시스템에 의도를 전달하고 쿠버네티스 시스템은 컨트롤-플레인을 통해 오브젝트의 상태(status) 감시하여 spec과 status를 비교하고 보.. 더보기
Microsoft Azure VM 근접 배치 그룹 ■ Microsoft Azure VM 근접 배치 그룹 개요VM을 단일 가용성 영역에 배치할 경우에도 가용 영역(Availability Zone)의 확장 될 경우 단일 가용성 영역의 범위가 넓어져, 물리적으로 떨어진 데이터 센터가 단일 가용성 영역으로 지정 될 수 있음.VM을 최대한 가깝게 배치하여 네트워크 대기 시간을 최대한으로 줄이는 배치 방법으로 네트워크 성능이 중요한 프로덕션에 적합함  ■ Microsoft Azure VM 근접 배치 그룹 특징근접 배치 그룹은 Azure의 서비스 이며 사용하기 위해서 근접 배치 그룹 생성이 필요함. 리소스를 특정 데이터 센터에 고정 시키는데 사용되는 공동 배치 제약 조건이며, 해당 조건을 통해 다른 가상 서버가 동일한 데이터 센터에 생성 됨.기존에 생성 된 가상 서.. 더보기
Microsoft Azure VM 가용성 보장 옵션 ■ Microsoft Azure VM 가용성을 보장하기 위한 옵션 가용성 영역가용성 영역은 Azure 지역(Region) 내에서 물리적으로 떨어진 별도의 데이터 센터. 하나의 영역이 손상되면 다른 영역에서 복제된 앱 및 데이터를 즉시 사용할 수 있음. 가상 머신 생성 시 가용성 옵션에서 가용성 영역 항목 선택 후 영역 선택. 영역은 3개 까지 선택 가능 한국 지역은 Korea Central(중부)과 Korea South (남부)가 있으며, 가용성 영역 옵션은 현재 한국 중부에서만 제공하고 있음. https://learn.microsoft.com/ko-kr/azure/reliability/availability-zones-service-support#azure-services-with-availabilit.. 더보기
쿠버네티스(Kubernetes) Node Internal IP 변경 ■ 쿠버네티스 클러스터 동일 IP  확인테스트 환경에서 쿠버네티스 클러스터 생성을 위해 kubeadm init을 이용하여 구축 이후 테스트 장비 종료테스트를 위해 쿠버네티스 서버 부팅 이후 쿠버네티스 정상 동작 불가 kubectl exec -n kube-system calicoctl -- calicoctl -h 입력 시 동작 불가마스터, 워커 노드#1 ~ #3 모든 IP가 동일하게 노출되는 상태 확인 ■ 쿠버네티스 클러스터 Node Internal IP 변경#10-kubeadm.conf 파일 찾기sudo find / -name 10-kubeadm.conf # >> 파일 경로 확인 [sudo] kidong 암호:find: ‘/run/user/120/doc’: 허가 거부find: ‘/run/user/100.. 더보기

반응형