Docker & Kubernetes/쿠버네티스 7

kubernetes pod에서 특정 데이터만 추출하기(json 형식)

예를 들어 kubernetes에서 돌고있는 pod의 특정 정보를 뽑아내야 한다고 하자.   추출할 정보 예시:1. deployment로 배포한 pod의 deployment 이름2. 배포한 pod의 개수(replica)3. 컨테이너 각각의 이름, 리소스 kubectl get deployments -o json | jq -c ' .items[] | { name: .metadata.name, newReplicaSet: .status.replicas, containers: [ .spec.template.spec.containers[] | {name, resources: .resources} ] }' 필요한 필드값을 명시하면 된다.   결괴 예시:web dep..

ubuntu에 쿠버네티스 설치하는 방법

0. 설치 전 확인사항호환되는 리눅스 머신. 쿠버네티스 프로젝트는 데비안 기반 배포판, 레드햇 기반 배포판, 그리고 패키지 매니저를 사용하지 않는 경우에 대한 일반적인 가이드를 제공한다.2 GB 이상의 램을 장착한 머신. (이 보다 작으면 사용자의 앱을 위한 공간이 거의 남지 않음)2 이상의 CPU.클러스터의 모든 머신에 걸친 전체 네트워크 연결. (공용 또는 사설 네트워크면 괜찮음)모든 노드에 대해 고유한 호스트 이름, MAC 주소 및 product_uuid. 자세한 내용은 여기를 참고한다.컴퓨터의 특정 포트들 개방. 자세한 내용은 여기를 참고한다.스왑의 비활성화. kubelet이 제대로 작동하게 하려면 반드시 스왑을 사용하지 않도록 설정한다. 1. VM서버 구성 서버 설정 만약 너무 과도하게 리소스를..

Kubernetes 컨테이너 런타임 추천(containerd, CRI-O, Docker Engine)

Kubernetes에서 더이상 Docker shim을 사용하지 않아 containerd, CRI-O 와 같은 런타임만 필요로 한다.  그래도 Docker를 쓰는 김에 Docker Engine을 컨테이너 런타임으로 사용했었는데 kubeadm init을 하면 unknown service runtime.v1.RuntimeService 에러가 발생해서 설정파일을 삭제하는 등의 귀찮은 작업을 해야하고, 그마저도 에러가 많이 발생해서 CRI-O로 바꿨다.   아래는 CRI-O 설치 방법이다. https://github.com/cri-o/packaging/blob/main/README.md#usage packaging/README.md at main · cri-o/packagingCRI-O deb and rpm pa..

multi control plane: 클러스터에 여러개의 마스터 노드 구성

지난 포스팅에서는 단일 컨트롤 플레인(마스터 노드)에 노드를 조인하는 방법을 알아봤다. 이번에는 클러스터에 여러 개의 컨트롤 플레인를 구성해보자. VM 구성(총 7개): bastion: 10.10.20.10 master1 : 10.10.20.83 master2 : 10.10.20.149 master3 :10.10.20.101 worker1 : 10.10.20.152 worker2 : 10.10.20.96 worker3 : 10.10.20.109 bastion 서버는 로드밸런싱 용도로 만들었다. HaProxy를 설치해서 트래픽을 세 개의 컨트롤 플레인에 분산시킬 예정이다. 0. 기본 세팅 지난 포스팅의 3번 - control plane와 worker node 공통 작업까지 진행한다. 클러스터 생성 전 단..

Kubeadm으로 k8s 설치하기

(2024.12.02 수정)   이 포스팅은 docker engine를 container runtime로 설치한 방법으로, 오류가 많이 발생합니다. 오류 해결 방법은 작성 해두었지만 이 설치 방법은 요즘 권장사항에 맞지 않으니 내용으 업데이트한 https://minha0220.tistory.com/203 포스팅 내용을 참고하여 설치하는것을 권장드립니다. ubuntu에 k8s 설치하는 방법0. 설치 전 확인사항호환되는 리눅스 머신. 쿠버네티스 프로젝트는 데비안 기반 배포판, 레드햇 기반 배포판, 그리고 패키지 매니저를 사용하지 않는 경우에 대한 일반적인 가이드를 제공한다.2minha0220.tistory.com   (이하 2024.01 포스팅) [ Kubeadm으로 k8s 설치하기 ]https://kube..

metrics-server 설치: 쿠버네티스 리소스 모니터링

metrics-server란? The Kubernetes Metrics Server is an aggregator of resource usage data in your cluster Kubernetes 지표 서버는 클러스터에서 리소스 사용량 데이터의 집계자다. 설치 전 top 명령어 사용 불가 1. metrics-server 구성에 필요한 YAML 파일 다운로드 git clone https://github.com/kubernetes-sigs/metrics-server.git 2. YAML 파일 수정 cd metrics-server/manifests/base vi deployment.yaml metrics-server에 인증 정보 구성이 안되어있으므로 인증 과정을 생략하도록 아래 코드 추가 args: -..