k8s(24)
-
Endpoint
Endpoint Kubernetes에서 Endpoint란 서비스와 관련이 깊은 중요한 개념이다. Endpoint은 서비스를 백엔드 Pod들과 연결하는 방법을 정의한다. 간단히 말하면, Endpoint은 서비스가 요청을 어떤 Pod로 라우팅해야 하는지를 결정하는 매핑 역할을 한다. 참고 사이트 Endpoints | Kubernetes Endpoints Endpoints is a collection of endpoints that implement the actual service. kubernetes.io endpoint.yml 파일 생성 apiVersion: v1 kind: Service metadata: name: my-service spec: ports: - protocol: TCP port: 80 ..
2023.10.31 -
loadbalancer
이론 cluster ip : 내부 통신용, 내부 자원 공유 - default node port : 30000 - 32767 외부 서비스 가능 http-go-v1.yml 파일 생성 apiVersion: v1 kind: Pod metadata: name: http-go labels: app: http-go spec: containers: - name: http-go image: jingukang/http-go ports: - containerPort: 8080 --- apiVersion: v1 kind: Service metadata: name: http-go-svc spec: selector: app: http-go ports: - port: 80 targetPort: 8080 cluster ip를 이용한..
2023.10.31 -
etcd
etcd etcd는 분산된 Key-Value 저장소로서 Kubernetes 및 다른 분산 시스템에서 중요한 역할을 하는 핵심 구성 요소 중 하나다. 이를테면, etcd는 Kubernetes 클러스터 구성 및 상태 정보를 저장하며 클러스터의 안전한 운영을 보장한다. 주요 정보 Key-Value 저장소 : etcd는 간단한 Key-Value 저장소 시스템이다. 각 데이터 항목은 고유한 키(Key)와 연결된 값(Value)으로 구성된다. 이러한 데이터 항목은 설정, 구성 정보, 상태 정보, 런타임 데이터 및 기타 중요한 정보를 저장하는 데 사용된다. 분산 시스템에 적합 : etcd는 데이터를 여러 노드 간에 분산하여 저장하고 복제한다. 이것은 고 가용성과 내결함성을 제공하며 데이터의 일관성과 안전성을 보장한다..
2023.10.31 -
Kubernetes 클러스터의 구성요소
Master Node API 서버 (API Server) : 클러스터의 제어 중심 역할을 하는 구성 요소로, 클러스터 관리 및 상태 정보에 대한 엔드포인트를 제공한다. Kubelet, Kube-proxy 및 다른 컴포넌트와 상호작용할 때 사용된다. etcd : Key-Value 저장소로, 클러스터의 모든 설정 데이터와 상태 정보를 저장한다. 스케줄러 (Scheduler) : 새로운 Pod을 적절한 노드에 할당하는 역할을 한다. 컨트롤러 매니저 (Controller Manager) : 클러스터의 상태를 관리하고 디렉티브에 따라 클러스터 자원을 관리하는 일련의 컨트롤러를 실행한다. Controller Manager Node 컨트롤러 (Node Controller) : 노드 관련 이벤트와 노드 장애를 처리한다..
2023.10.31 -
네임 스페이스 요구명세서 실습
요구명세서 1. 현재 시스템에는 몇 개의 Namespace가 존재하는가? 2. kube-system에는 몇 개의 파드가 존재하는가? 3. ns-jenkins 네임스페이스를 생성하고 jenkins 파드를 배치하라. pod image: jenkins/jenkins pod name: jenkins 4. coredns는 어느 네임스페이스에 속해있는가? 실습 kubectl get ns kubectl get pod -n kube-system kubectl create ns ns-jenkins kubectl run jenkins --image=jenkins/jenkins --namespace=ns-jenkins kubectl get pod -n ns-jenkins kubectl get pod --all-namespa..
2023.10.31 -
네임 스페이스
네임스페이스 - 쿠버네티스 클러스터 내의 논리적 분리 단위 - 리소스를 각각의 분리된 영역으로 나누기 좋은 방법 - 여러 네임스페이스를 사용하면 복잡한 쿠버네티스 시스템을 더 작은 그룹으로 분할 - 멀티 테넌트(Multi-tenant) 환경을 분리하여 리소스를 생산, 개발, QA 환경 등으로 사용 - 리소스 이름은 네임스페이스 내에서만 고유 명칭 사용 - 현재 클러스터의 기본 네임스페이스 확인하기 => kubectl get ns 네임스페이스를 만들지 않았다면 default 네임스페이스를 사용한 것이다 각 네임스페이스 상세 내용 확인 - kubectl get 을 옵션 없이 사용하면 default 네임스페이스에 질의 - 다른 사용자와 분리된 환경으로 타인의 접근을 제한 - 네임스페이스 별로 리소스 접근 허용..
2023.10.31