목록전체 글 (323)
miinsun
PV HostPath 타입으로 생성 Multi Container Pod 생성 Pod 생성 Controlplane Upgrade Trouble Shooting node01 broken. Restart kubelet Network Policy namespace로 Select하기 Ingress, Service 80포트로 통신하기 ClusterRole, ServiceAccount, ClusterRoleBinding 생성 Deployment Replica Scale 증가 가장 cpu를 많이 소비하는 pod 이름 저장, 라벨로 분류하기 사용 가능한 노드의 수 (Taint X, Not Ready X) PVC 생성 Taint Node Logging Sidecar 생성
API 서버 (kube-apiserver): Kubernetes 클러스터의 중심이 되는 구성 요소로서 API 서버는 클러스터 상태 및 구성을 노출하고 다른 컴포넌트와의 상호 작용을 지원합니다. 기본 포트는 6443이며, 안전한 통신을 위해 TLS(Transport Layer Security)을 사용합니다. 쿠브렛 (kubelet): 각 노드에서 실행되는 에이전트입니다. 파드의 라이프사이클을 관리하고 컨테이너 런타임과 상호 작용하여 파드를 실행합니다. 기본 포트는 10250입니다. 컨테이너 런타임 (CRI, Container Runtime Interface): Kubernetes는 여러 컨테이너 런타임을 지원합니다. 런타임은 컨테이너를 실행하고 관리하는 역할을 합니다. 예를 들어, Docker가 널리 사용..
알아둬야 하는 명령어 $ kubectl explain replicaset => 리소스에대한 설명과 어떤 필드를 써야하는지 디테일을 알려줌 $ kubectl get pods --selector env=dev => 라벨로 궁금한 pods 만 검색 $ kubectl taint nodes controlplane node-role.kubernetes.io/control-plane:NoSchedule => taint 주기 $ kubectl taint nodes controlplane node-role.kubernetes.io/control-plane:NoSchedule- => taint 없애기 여기서 taint는 노드에 관해, NoSchedule 제한을 주겠다는 것 taint를 무시하기 위해서는, pod에 tole..
유튜브 강의 '따배쿠'와 책 '쿠버네티스 입문'을 정리한 자료입니다. 📌 Kubernetes ConfigMap 쿠버네티스의 컨피그맵은 컨테이너에 필요한 환경 설정을 컨테이너와 분리해서 제공하는 기능이다. 컨피그맵을 이용하면 컨테이너를 분리해 하나는 개발용, 하나는 스테이지용, 하나는 서비스용으로 활용할 수 있게 된다. - configMap yaml template apiVersion: v1 kind: ConfigMap metadata: name: config-dev namespace: default data: DB_URL: localhost DB_USER: myuser DB_PASS: mypass DEBUG_INFO: debug .data 하위 필드로 실제 사용하려는 환경 설정 값을 넣는다. kubec..
유튜브 강의 '따배쿠'와 책 '쿠버네티스 입문'을 정리한 자료입니다. 레이블과 애너테이션은 그 자체의 의미는 유사한 것 같지만, 이둘이 작용하는 역할이 다르기 때문에 상황에 맞게 적절히 구분하여 사용해야한다. 📌 Kubernetes Label 쿠버네티스의 레이블은 selector와 함께 특정 레이블이 있는 자원들을 선택할 때 주로 사용된다. 레이블은 쿠버네티스 안에서 사용자가 오브젝트를 생성할 때 해당 오브젝트를 구분하는 용도이다. 사용자가 임의로 원하는 값을 지정해서 사용이 가능하다. 레이블은 키-값 쌍으로 구성된다. 레이블의 키는 쿠버네팉스 안에서 컨트롤러들이 파드를 관리 할 때 관리해야 할 파드를 구분해주는 역할을 한다. - 유의 사항 1. 63 글자를 넘지 않아야 함 2. 시작과 끝 문자는 알파벳..
📌 ingress-nginx 설치 kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.8.0/deploy/static/provider/baremetal/deploy.yaml https://kubernetes.github.io/ingress-nginx/deploy/#bare-metal-clusters - ingress controlelr 동작 확인 📌 무중단 배포 실습 - 무중단 배포에 사용할 deployment 설정 ing-test-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: websample spec: selector..
유튜브 강의 '따배쿠'와 책 '쿠버네티스 입문'을 정리한 자료입니다. 📌 Kubernetes Ingress란? 쿠버네티스의 인그레스는 주로 클러스터 외부에서 안에 있는 파드에 접근할 때 사용하는 방법이다. 서비스와의 차이점은 주로 L7 영역의 통신을 담당해서 처리한다는 것이다. 인그레스는 임의의 포트 또는 프로토콜을 노출시키지 않는다. HTTP와 HTTPS 이외의 서비스를 인터넷에 노출하려면 보통 Service.Type=NodePort 또는 Service.Type=LoadBalancer 유형의 서비스를 사용한다. HTTP나 HTTPS를 통해 클러스터 내부의 서비스를 외부로 노출 Service에 외부 URL을 제공 트래픽을 로드밸런싱 SSL 인증서 처리 Virtual hosting을 지정 ※ 인그레스 유의..
💻 실습 환경 MacBook M1 Pro iterm 📌 Minikube 설치 $ vim deploy-controller.yaml apiVersion: apps/v1 kind: Deployment metadata: name: deploy-app spec: replicas: 5 selector: matchLabels: app: webui template: metadata: labels: app: webui spec: containers: - name: nginx-container image: nginx:1.14 # deploy 생성 $ kubectl create -f deploy-controller.yaml deployment.apps/deploy-app created 📌 minikube service로..