본문 바로가기

k8s86

[K8s] kubernetes namespace, yaml template Namespace란? k8s API중 하나 cluster 하나를 여러 개의 논리적인 단위로 나눠서 사용 k8s cluster 하나를 여러 팀이나 사용자가 공유 용도에 따라 실행하야 하는 app을 구분할 때 사용 -namespace , n 옵션을 사용해서 원하는 namespace에 pod 생성 가능 Namespace 생성 CLI blue라는 이름의 namespace 생성 및 확인 kubectl create namespace blue yaml green이라는 이름의 namespace 생성 kubectl create namespace green --dry-run -o yaml > green-ns.yaml vi green-ns.yaml apiVersion: v1 kind: Namespace metadata: n.. 2022. 8. 25.
쿠버네티스 이론 STEP7 PV, PVC kubernetes는 스토리지 구성과 애플리캐이션 운영을 분리하여 적용할 수 있도록 지원한다. 인프라 관련 운영은 시스템 운영자가 구성하고, 애플리케이션 운영자(개발자)는 애플리케이션에 필요한 영구 스토리지를 요청만 하는 것으로 스토리지를 사용할 수 있도록 지원하는데 이것이 PV와 PVC이다. PV와 PVC는 컨트롤러 및 파드와 별개의 쿠버네티스 리소스이며, 파드의 생명주기와는 별도로 작동합니다. PV (Persistent Volume) 볼륨 그 자체 쿠버네티스 클러스터 외부 스토리지와 연결을 담당하는 리소스 파드와 별개로 관리되며 별도의 생명주기가 있음 PVC (Persistent Volume Claim) 사용자가 PV에 하는 요청 사용하고 싶은 용량은 얼마인지, 읽기/쓰기는 어떤 모드로 설정하고 싶은.. 2022. 8. 23.
쿠버네티스 이론 STEP5 Service (3) Ingress - 1 ABTCEFG ~ ♪ 안녕하세요, 여러분. BTC_김쿼카입니다. 네트워크 트래픽는 Ingress와 egress로 구분되며, Ingress는 외부로부터 서버 내부로 유입되는 네트워크 트래픽을 의미합니다. 마찬가지로 쿠버네티스에서도 Ingress라는 이름의 리소스 오브젝트가 존재하는데요! 이번 시간에는 쿠버네티스의 Ingress에 대해 알아보는 시간을 가져보도록 할게요. 1. Ingress 쿠버네티스 서비스는 기본적으로 L4 레이어로 TCP 단에서 Pod를 로드밸런싱하는데요! MSA의 경우, 서비스가 하나의 URL로 대표되는 경우가 많습니다. MSA 서비스 간 라우팅을 하기 위해 API 게이트웨이를 넣는 경우가 많은데 URL 기반의 라우팅의 경우 L7 로드밸런서 정도로 라우팅이 가능하며, 이때 필요한 게 쿠.. 2022. 8. 18.
[K8s] kubernetes 동작 원리 Master component etcd key-value 타입의 저장소 worekr node의 상태정보 저장 kube-apiserver k8s API를 사용하도록 요청을 받고 요청이 유효한지 검사 kube-scheduler pod를 실행할 node 선택 kube-controller-manager pod를 관찰하며 개수를 보장 Worker node component kubelet 모든 node에서 실행되는 k8s 에이전트 daemon 형태로 동작 cAdvisor 포함 kube-proxy k8s의 network동작을 관리 iptables rule을 구성 container runtime container를 실행하는 engine docker, containerd, runc Add-on network add-on.. 2022. 8. 16.
[k8s] kubernetes 설치 (containerd 사용) kubeadm k8s에서 공식 제공하는 클러스터 생성/관리 도구 kubespray k8s 클러스터를 배포하는 오픈소스 프로젝트 다양한 형식으로 쿠버네티스 클러스터 구성 가능 on-premise에서 상용 서비스 클러스터 운영 시 유용 다양한 CNI 제공 CNI (Container Network Interface) container간 통신을 지원하는 VxLAN pod network라고도 부름 다양한 종류의 플러그 인이 존재 Control plane (Master node) worker node들의 상태를 관리하고 제어 single master multi master(3, 5개의 master nodes) Worker node docker platform을 통해 container를 동작하며 실제 서비스 제공 [.. 2022. 8. 8.
쿠버네티스 이론 STEP4 Service (2) LB, ExternalName 클러스터 외부 서비스인 LB와 ExternalName에 대해 알아보겠습니다. 쿠버네티스 클러스터에서 웹의 프론트엔드 서비스를 실행하는 파드일 경우 쿠버네티스 클러스터의 외부로 노출시켜 접근이 가능하도록 구성해야 합니다. 쿠버네티스 클러스터 외부에서 접근 가능한 서비스에 대해 알아 보겠습니다. Lb (Load Balance) Loadbalace + NodePort + ClusterIP 클러스터 외부의 로드 밸런서를 사용하여 외부에서 접근 가능 하도록 함. 외부 로드 밸런서로 접근하면 서비스를 통해 파드로 리다이렉션 함 CSP나 MetalLb에서 지원해 줌 클라우드의 관리형 쿠버네티스 서비스 or MetalLB를 사용하지 않는 경우, 외부 로드 밸런서가 프로비저닝 되지 않기 때문에 외부 IP 즉, LB IP.. 2022. 8. 5.
쿠버네티스 STEP1 run, YAML 쿠버네티스 클러스터를 컨트롤하기 위해 kubectl이라는 명령툴을 사용합니다. kubectl run 복제될 수 있는 특정 이미지를 만들고 실행하며 생성된 컨테이너를 관리하기 위한 배포 또는 작업을 생성합니다. kubectl run NAME --image=image [--env="key=value"] [--port=port] [--replicas=replicas] [--dry-run=bool] [--overrides=inline-json] [--command] -- [COMMAND] [args...] YAML (선언형 명령 정의서) 쿠버네티스에 요청하려면 1.어떤 오브젝트를 사용할 지 2.상세설정을 YAML파일 형식으로 정의 해야 합니다. 어떤 텍스트에 어떤 에디터를 사용하든 상관없이 해당 형식에 맞기만 .. 2022. 7. 29.
쿠버네티스 STEP2 Pod & Deployment ABTCEFG♪ 안녕하세요, 여러분! BTC_김쿼카입니다. 쿠버네티스 명령어를 잘 사용하기 위해서라면 기본 개념을 알아두는 것이 좋겠죠? 쿠버네티스의 가장 기본이 되는 Pod에 대해서 간단하게 알아볼게요! 1. Pod kubernetes의 최소 실행 단위 스토리지 및 네트워킹 리소스를 공유하는 단일 컨테이너 또는 관련 컨테이너 그룹 (상황에 따라 2개) Pod 내에 실행되는 컨테이너는 동일한 노드에 할당되며 동일한 생명 주기를 가짐 고유의 IP를 할당받고 Pod 안의 컨테이너들은 서로 IP를 공유함 쿠버네티스의 모든 리소스는 YAML 형태의 선언형 명령 정의서로 표현될 수 있는데 이때 아래의 명령어 사용 시 Pod를 실제로 생성하지 않고도 템플릿 파일을 생성할 수 있다는 점 참고해주세요 kubectl r.. 2022. 7. 20.