본문 바로가기

kubernetes

[draft] Kubernetes에서 자주 사용되는 애플리케이션 배포 전략 Kubernetes에서 자주 사용되는 애플리케이션 배포 전략(Deployment Strategies)1. Recreate (완전 교체 배포)동작 방식기존 파드를 전부 종료한 뒤 새 버전 파드를 생성 → 한 시점에는 오직 하나의 버전만 존재Kubernetes 설정 예시strategy: type: Recreate특징: 배포 중 서비스 중단 발생 사용예시: 개발/테스트 환경, 비중요 서비스2. Rolling Update(Ramped)동작 방식새 버전을 하나씩 배포하면서, 기존 파드를 점진적으로 제거→ 무중단 배포 가능 (Kubernetes 기본 전략)Kubernetes 설정 예시:strategy: type: RollingUpdate rollingUpdate: maxSurge: 1 maxUnav.. 더보기
[draft] kubernetes 커든 및 드레인 kubernetes 커든 및 드레인노드 스케줄링 제어Cordon & Drain Kubernetes에서 특정 노드에 새로운 파드가 스케줄되지 않도록 하거나 기존 파드를 안전하게 다른 노드로 옮기고자 할 때 cordon, drain, uncordon 명령을 사용합니다.1. 클러스터 노드 확인kubectl get nodes$ kubectl get nodesNAME STATUS ROLES AGE VERSIONip-192-168-27-248.ap-northeast-2.compute.internal Ready 17h v1.22.12-eks-ba74326ip-192-168-42-8.ap-northeast.. 더보기
[draft] minikube를 이용한 kubernetes 클러스터 배포 minikube를 이용한 kubernetes 클러스터 배포minikube - kubernetes cluster 구성 도구1. KVM installhttps://help.ubuntu.com/community/KVM/Installationsudo apt-get install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utilssudo adduser `id -un` libvirtsudo adduser `id -un` kvmsudo adduser `id -un` libvirt-qemusudo rebootsystemctl is-active libvirtd2. minikube installhttps://minikube.sigs.k8s.io/docs/start/c.. 더보기
[draft] node-app 도커 이미지를 쿠버네티스로 배포하는 방법 node-app 도커 이미지를 쿠버네티스(Kubernetes)로 배포하는 방법node-app-deployment.yaml 파일 생성vim node-app-deployment.yaml# node-app-deployment.yamlapiVersion: apps/v1kind: Deploymentmetadata: name: node-app # Deployment의 이름spec: replicas: 1 # Replica 수 selector: matchLabels: app: node-app # Pod를 식별하기 위한 라벨 template: metadata: labels: app: node-app # Pod에 부여되는 라벨 name: node-app #.. 더보기
[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] 쿠버네티스 네임스페이스를 생성하고 확인하고 삭제하는 방법(namespaces) 쿠버네티스 네임스페이스를 생성하고 확인하고 삭제하는 방법(namespaces)쿠버네티스에서는 네임스페이스를 통해 리소스를 격리하고 조직화할 수 있습니다. 네임스페이스 확인kubectl get namespaces$ kubectl get namespacesNAME STATUS AGEdefault Active 2d1hingress-nginx Active 2d1hkube-node-lease Active 2d1hkube-public Active 2d1hkube-system Active 2d1hmetallb-system Active 2d1hkubectl get pods --namespace kube-systemk.. 더보기
[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 45m kube.. 더보기