본문 바로가기

728x90

리눅스

[draft] MetalLB를 설치하고 설정하여 LoadBalancer 서비스를 테스트하는 방법 MetalLB를 설치하고 설정하여 LoadBalancer 서비스를 테스트하는 방법MetalLB는 Kubernetes 클러스터에 LoadBalancer 서비스를 제공하는 솔루션입니다.테스트 환경kubectl get nodes -o custom-columns="NAME:.metadata.name,STATUS:.status.conditions[-1].type,ROLES:.metadata.labels['kubernetes\.io/role'],AGE:.metadata.creationTimestamp,VERSION:.status.nodeInfo.kubeletVersion,INTERNAL-IP:.status.addresses[0].address,EXTERNAL-IP:.status.addresses[1].address.. 더보기
[draft] 우분투에 쿠버네티스 싱글 노드를 구성하는 방법 우분투에 쿠버네티스(k8s) 싱글 노드를 구성하는 방법컨트롤 플레인(Control Plane)/워커 노드(worker nodes) 적용컨트롤 플레인control-plane워커 노드worker1, worker2, worker3컨테이너 런타임Containerd네트워크 플러그인Calico1. 호스트명 변경sudo hostnamectl set-hostname control-planesudo hostnamectl set-hostname worker12. 호스트(/etc/hosts) 파일 수정 cat > /etc/hosts# kubernetes192.168.0.131 control-plane192.168.0.142 worker1EOF3. Swap 비활성화(스왑 끄기)sudo swapoff -asudo sed -i .. 더보기
[draft] 쿠버네티스 클러스터에서 Worker Node를 재기동하는 방법 쿠버네티스(Kubernetes) 클러스터에서 Worker Node를 재기동하는 방법노드 상태 확인kubectl get nodes드레인(Drain) 노드노드를 드레인 상태로 만들어야 합니다. 이는 클러스터에서 노드가 더 이상 새로운 파드를 스케줄하지 않도록 하며 기존의 파드를 다른 노드로 이동시킵니다.kubectl drain --ignore-daemonsets --delete-local-datakubectl drain k8s-worker1 --ignore-daemonsets --delete-local-data--ignore-daemonsets : DaemonSet으로 관리되는 파드는 드레인하지 않음--delete-local-data : 로컬 데이터를 삭제함노드 재기동드레인된 후 실제로 노드를 재기동할 수.. 더보기
[draft] 쿠버네티스에 Ingress Controller를 설치하고 이를 통해 외부에서 NGINX 웹 서비스에 접근할 수 있도록 설정하는 방법 쿠버네티스(Kubernetes)에 Ingress Controller를 설치하고 이를 통해 외부에서 NGINX 웹 서비스에 접근할 수 있도록 설정하는 방법Ingress Controller는 클러스터 외부의 HTTP/HTTPS 요청을 클러스터 내부의 서비스로 라우팅하는 역할을 합니다.1. Ingress Controller 설치NGINX를 웹 서비스로 배포하고 Ingress Controller를 사용하여 외부에서 접근할 수 있도록 합니다. NGINX Ingress Controller 배포kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.11.2/deploy/static/provider/baremeta.. 더보기
[draft] 쿠버네티스 클러스터에서 Control Plane을 새로운 노드로 교체하는 방법 쿠버네티스(Kubernetes) 클러스터에서 Control Plane을 새로운 노드로 교체하는 방법1. 새로운 마스터 노드 준비새로운 Control Plane 역할을 할 마스터 노드를 준비합니다. 쿠버네티스 설치새 서버에 쿠버네티스 Control Plane 구성 요소를 설치합니다.Containerd, kubeadm, kubelet, kubectl 등의 쿠버네티스 패키지를 설치합니다.기존 클러스터와 동일한 Kubernetes 버전을 설치해야 합니다.노드 상태 확인kubectl get nodes$ kubectl get nodesNAME STATUS ROLES AGE VERSIONk8s-master1 Ready control-plane 2d18h v.. 더보기
[draft] 쿠버네티스 워커 노드를 설치하고 클러스터에 참여시키기 쿠버네티스 워커 노드를 설치하고 클러스터에 참여시키기kubeadm 초기화kubeadm resetkubelet, containerdsudo systemctl --now disable kubeletsudo systemctl --now disable containerd방화벽(UFW) 중지 및 비활성화sudo systemctl stop ufw && sudo systemctl disable ufwSwap 비활성화sudo swapoff -asudo sed -i '/\s*swap\s*/ s/^/#/' /etc/fstab커널 모듈 로드 설정 및 로드cat sudo modprobe overlaysudo modprobe br_netfilter커널 파라미터 네트워크 설정 및 적용cat sudo sysctl --system시.. 더보기
[draft] Cilium CLI를 사용해 Cilium을 설치하는 방법 Cilium CLI를 사용해 Cilium을 설치하는 방법Cilium은 고성능 네트워킹과 보안을 제공하는 Kubernetes의 CNI(Container Network Interface) 플러그인입니다.Cilium CLI 설치Cilium CLI를 다운로드하고 설치해야 합니다.curl -sL --remote-name https://github.com/cilium/cilium-cli/releases/latest/download/cilium-linux-amd64.tar.gzCilium CLI 다운로드tar xzf cilium-linux-amd64.tar.gz압축 해제 및 설치sudo mv cilium /usr/local/bin/Cilium CLI 버전 확인cilium versioncilium-cli: v0.16... 더보기
[draft] 쿠버네티스 클러스터에서 Calico 네트워크 플러그인을 설치 쿠버네티스 클러스터에서 Calico 네트워크 플러그인을 설치Calico는 네트워킹과 네트워크 보안을 제공하는 쿠버네티스의 가장 널리 사용되는 CNI(Container Network Interface) 플러그인 중 하나입니다.1. Calico 설치 YAML 파일 다운로드 및 적용Calico는 공식 YAML 파일을 사용하여 쉽게 설치할 수 있습니다.Calico 네트워크 플러그인을 설치하는 데 필요한 모든 리소스를 클러스터에 생성합니다.calico-node DaemonSet, calico-kube-controllers Deployment 및 다양한 ConfigMap과 CRD가 포함됩니다.kubectl create -f https://raw.githubusercontent.com/projectcalico/cal.. 더보기

728x90