본문 바로가기

728x90

Kubernetes

[draft] 쿠버네티스 클러스터를 고가용성으로 구성하는 방법 쿠버네티스 클러스터를 고가용성으로 구성하는 방법쿠버네티스 클러스터를 고가용성(HA)으로 구성하는 것은 클러스터의 안정성과 신뢰성을 높이기 위해 중요합니다. HA 구성은 다양한 구성 요소의 이중화와 자동 복구 기능을 포함하여 클러스터가 장애가 발생하더라도 계속해서 작동하도록 보장합니다.1. 기본 개념핵심 요소로 구성etcd : 클러스터의 데이터 저장소로 HA 구성을 통해 여러 노드에서 이중화합니다.kube-apiserver : Kubernetes의 API 서버로 여러 인스턴스에서 실행하여 요청을 분산합니다.kube-controller-manager : 클러스터 상태를 관리하는 컨트롤러의 여러 인스턴스를 실행합니다.kube-scheduler : 파드를 스케줄링하는 스케줄러의 여러 인스턴스를 실행합니다.로드 .. 더보기
[draft] 쿠버네티스 클러스터를 멀티 마스터 환경에서 고가용성을 구현하는 방법 쿠버네티스 클러스터(Kubernetes Cluster)를 멀티 마스터(Multi Master) 환경에서 고가용성(Highly Available)을 구현하는 방법쿠버네티스 클러스터를 멀티 마스터 환경에서 고가용성(HA)을 구현하는 것은 클러스터의 Control Plane을 여러 마스터 노드로 분산하여 단일 장애 지점을 없애는 중요한 작업입니다. 이를 통해 클러스터의 신뢰성과 가용성을 높일 수 있습니다. HostnameIP AddressApplication k8s-lb1192.168.0.130haproxy k8s-master1192.168.0.131kubelet kubeadm kubectl k8s-master2192.168.0.132kubelet kubeadm kubectl k8s-master3192.168.. 더보기
[draft] 쿠버네티스 패키지와 설정을 완전히 삭제하는 방법 쿠버네티스 패키지와 설정을 완전히 삭제하는 방법쿠버네티스와 관련된 모든 패키지, 설정 파일, 데이터 파일을 제거합니다.패키지 제거쿠버네티스 관련 패키지를 제거하기 전에 패키지 업그레이드를 막아놓은 경우 이를 해제해야 합니다.sudo apt-mark unhold kubelet kubeadm kubectlsudo apt-get purge -y kubelet kubeadm kubectlsudo apt-mark unhold containerdsudo apt-get purge -y containerd자동으로 설치된 패키지와 의존성 제거더 이상 필요하지 않은 패키지와 의존성을 제거합니다.sudo apt-get autoremove -y설정 및 데이터 파일 삭제Kubernetes와 관련된 설정 및 데이터 파일을 삭제합.. 더보기
[draft] 쿠버네티스에 Flannel 네트워크 플러그인을 설치하는 방법 쿠버네티스에 Flannel 네트워크 플러그인을 설치하는 방법Flannel은 쿠버네티스 클러스터에서 파드 간 통신을 가능하게 하는 네트워크 플러그인입니다. kubernetes coredns 에러(ContainerCreating)$ kubectl get pods --namespace=kube-systemNAME READY STATUS RESTARTS AGEcoredns-f9fd979d6-z6dtd 0/1 ContainerCreating 0 45mcoredns-f9fd979d6-z7j97 0/1 ContainerCreating 0 45m1. Fl.. 더보기
쿠버네티스 레플리카셋(Replica Set) 쿠버네티스 레플리카셋(Replica Set) 쿠버네티스에서 레플리카셋(ReplicaSet)은 파드(Pod)의 복제본을 관리하는 리소스입니다. 레플리카셋은 지정된 수의 파드 복제본을 유지하도록 보장하며 파드가 비정상적으로 종료되었을 때 새로운 복제본을 생성하여 대체합니다. 레플리카셋의 중요한 특징 레플리카 수 유지 : 레플리카셋은 사용자가 지정한 수의 복제본을 유지합니다. 파드가 삭제되거나 종료된 경우 새로운 파드를 생성하여 복제본 수를 유지합니다. 라벨 셀렉터 사용 : 레플리카셋은 라벨 셀렉터를 사용하여 자신이 관리하는 파드를 식별합니다. 이를 통해 레플리카셋이 복제하는 파드를 선택할 수 있습니다. 스케일링 : 사용자는 필요에 따라 레플리카셋의 복제본 수를 조정하여 애플리케이션을 확장하거나 축소할 수 있.. 더보기
node-app 도커 이미지를 쿠버네티스로 배포하는 방법 node-app 도커 이미지를 쿠버네티스(Kubernetes)로 배포하는 방법 node-app-deployment.yaml 파일 생성 vim node-app-deployment.yaml # node-app-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata: name: node-app # Deployment의 이름 spec: replicas: 1 # Replica 수 selector: matchLabels: app: node-app # Pod를 식별하기 위한 라벨 template: metadata: labels: app: node-app # Pod에 부여되는 라벨 name: node-app # Pod의 이름 spec: containers: - n.. 더보기
[kubernetes] kubectl get 명령 kubectl get 명령 kubectl get field selector kubectl get pods -o wide --field-selector status.phase=Running $ kubectl get pods -o wide --field-selector status.phase=Running NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES myapp-rs-dynamic-4gchk 1/1 Running 0 23m 10.233.118.66 kube-node3 myapp-rs-dynamic-7wqq4 1/1 Running 0 23m 10.233.73.68 kube-node1 myapp-rs-dynamic-bgmf5 1/1 .. 더보기
[kubernetes] 쿠버네티스 볼륨(Volume) - 동적 프로비저닝(dynamic Provisioning) / nfs 쿠버네티스 동적 프로비저닝(dynamic Provisioning) nfs dynamic provisioner 구성 https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner git clone https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner.git cd nfs-subdir-external-provisioner/deploy rbac 편집 $ cat rbac.yaml apiVersion: v1 kind: ServiceAccount metadata: name: nfs-client-provisioner # replace with namespace where provisioner is.. 더보기

728x90