본문 바로가기

반응형

K8S

쿠버네티스(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를 비교하고 보.. 더보기
쿠버네티스(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.. 더보기
쿠버네티스(Kubernetes) 아키텍처 ■ 쿠버네티스 아키텍처쿠버네티스 아키텍처는 클러스터 전반의 서비스 검색 (Service Discovery)을 제공하기 위한 오픈소스 플랫폼워커 노드(Worker): 애플리케이션의 구성요소인 파드(Pod, 클러스터에서 실행중인 컨테이너의 집합)가 동작 합니다.컨트롤 플레인(Control-Plane): 워커 노드와 클러스터 내 파드 관리. 클러스터에 관한 전반적인 결정을 수행하고, 이벤트 감지 및 대응을 수행 합니다.워커노드와 컨트롤 플레인을 클러스터라고 합니다. ■ 쿠버네티스 컨트롤 플레인 구성요소kube-apiserver: 쿠버네티스 API를 노출하는 컨트롤 플레인 구성요소. REST API로 동작하며 다른 구성요소들과 클러스터의 상태정보를 공유하며 상호작용하는 중앙관리 도구 역할을 수행합니다.etcd:.. 더보기
쿠버네티스(Kubernetes) 컨테이너 구동 방법 ■  쿠버네티스 설계 원칙 보안성최신의 보안 모범 사례를 따라야 합니다.  ○ RBAC 사용 강제  ○ 노드 인증 사용 ○ Control Plane 구성요소와 통신 수행 시 암호화된 방법 사용 ○ API 서버와 kubelets 사이 통신 수행 시 암호화된 방법 사용   ○ kubelet API 사용 통제  ○ API 가 시스템 구성요소 (kube-proxy / CoreDNS) 접근에 대한 통제  ○ 부트스트랩 토큰 접근 통제 사용 편의성쿠버네티스는 몇 가지 간단한 명령으로 작동할 수 있어야 합니다. 사용자 친화적인 CLI 와 API를 제공하여 개발자 및 운영자가 쉽게 컨테이너 워크로드를 관리 할 수 있도록 합니다. 또한 파일이 위치하는 경로 및 파일명도 직관적으로 이해할 수 있도록 구성 되어 있습니다. .. 더보기
쿠버네티스(Kubernetes) 신규 노드 추가 방법 ■ 쿠버네티스 신규 노드 추가 https://white-polarbear.tistory.com/161 공통구성 부분 진행node join을 위한 토큰 확인 및 재생성 과정 진행https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-token/#master node 진행kubeadm token create --print-join-command#결과값을 신규 node에 입력, sudo 필수#신규 node 진행sudo kubeadm join 192.168.56.10:6443 --token qgkuto.h6sl7hx68odr6v0t --discovery-token-ca-cert-hash sha256:d4f955570781216fdd6aa2cc53f82.. 더보기

반응형