Kubernetes 2

1rock·2025년 1월 15일

[ 도커 쿠버네티스 설치 / PC에 직접 설치하기 ]

CNI(Container Network Interface)

  • Container간 통신을 지원하는 VxLAN. (Pod Network)
  • 다양한 종류의 플러그인 존재(플라넬, 칼리코, 위브넷 등)

쿠버네티스 클러스터 구성

  • control plane(master node)
    • 워커 노드들의 상태를 관리하고 제어
    • single master
    • multi master(3, 5개의 master nodes)
    • 지휘자 역할
  • worker node
    • 도커 플랫폼을 통해 컨테이너를 동작하며 실제 서비스 제공
    • 상태 관리, 제어

Docker 설치

VM 세팅

mac에서 VirtualBox에 Ubuntu가 잘 설치되지 않아 유튜브에서 다른 영상을 보고 세팅함
https://www.youtube.com/watch?v=LjL_N0OZxvY

VirtualBox로 실행하면 Capy&paste가 안되는 문제가 있어
mac 터미널로 k8s-master(control plane), nod1, node2에 ssh연결
https://stophyun.tistory.com/241

설치방법

sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
  $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Kubernetes 설치

방화벽 해제

# firewalld 설치
sudo apt install firewalld -y

# firewalld 해제
sudo systemctl stop firewalld
sudo systemctl disable firewalld

kubelet, kubeadm, kubectl 설치

# 1.패키지 인덱스를 업데이트 apt하고 Kubernetes apt저장소를 사용하는 데 필요한 패키지를 설치합니다.
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gpg

# 2. Kubernetes 패키지 저장소의 공개 서명 키를 다운로드합니다. 모든 저장소에 동일한 서명 키가 사용되므로 URL의 버전을 무시할 수 있습니다.
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg

# 3. 적절한 Kubernetes apt저장소를 추가합니다. 이 저장소에는 Kubernetes 1.32용 패키지만 있습니다. 다른 Kubernetes 마이너 버전의 경우 URL의 Kubernetes 마이너 버전을 원하는 마이너 버전과 일치하도록 변경해야 합니다(설치하려는 Kubernetes 버전에 대한 설명서를 읽고 있는지도 확인해야 합니다).
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.32/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list

# 4.패키지 인덱스를 업데이트하고 aptkubelet, kubeadm, kubectl을 설치하고 해당 버전을 고정합니다.
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

# 5.(선택 사항) kubeadm을 실행하기 전에 kubelet 서비스를 활성화합니다.
sudo systemctl enable --now kubelet

# 6. 실행
sudo systemctl start kubelet
sudo systemctl enable kubelet

control-plane 구성(master 노드)

# Initializing your control-plane node
sudo kubeadm init

# 루트가 아닌 사용자에게 kubectl을 작동시키려면 출력의 일부인 다음 명령을 실행하세요 kubeadm init.
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

# 또는 root사용자인 경우 다음을 실행할 수 있습니다.
export KUBECONFIG=/etc/kubernetes/admin.conf

kubectl get nodes

# 위브스 설치
docker pull ghcr.io/weaveworks/launcher/weave-kube:2.8.1

kubectl get nodes

토큰 보관을 안하고 clear 해버려서..
sudo kubeadm reset 후
다시 init 하면 토큰 확인 가능

profile
FRONT_END_DEVELOMENT

0개의 댓글