관리 메뉴

진취적 삶

03 쿠버네티스 설치 본문

개발 도서/핵심만 콕 쿠버네티스

03 쿠버네티스 설치

hp0724 2023. 11. 17. 10:18

3.1 k3s

설치가 쉽고 가벼워서 선택

3.2 MobaXterm

putty 대신 사용 아주 좋음

3.2.2 마스터 노드 설치

sudo apt update
sudo apt install -y docker.io nfs-common dnsutils curl 

#k3s 마스터 설치 

curl -sfL <https://get.k3s.io> | INSTALL_K3S_EXEC="\\
    --disable traefik \\
    --disable metrics-server \\
    --node-name master --docker" \\
    INSTALL_K3S_VERSION="v1.18.6+k3s1" sh -s -

# 마스터 통신을 위한 설정 
mkdir ~/.kube
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown -R $(id -u):$(id -g) ~/.kube
echo "export KUBECONFIG=~/.kube/config" >> ~/.bashrc
source ~/.bashrc

# 설치 확인 
sudo kubectl cluster-info

Kubernetes API 서버 상태 확인

sudo systemctl status k3s
Loaded: loaded (/etc/systemd/system/k3s.service; enabled; vendor preset: enabled)
     Active: activating (start) since Tue 2023-09-12 20:26:31 KST; 2s ago
       Docs: <https://k3s.io>
    Process: 13519 ExecStartPre=/bin/sh -xc ! /usr/bin/systemctl is-enabled --quiet nm-cloud-setup.service (code=exited, status=0/SUCCESS)
    Process: 13521 ExecStartPre=/sbin/modprobe br_netfilter (code=exited, status=0/SUCCESS)
    Process: 13522 ExecStartPre=/sbin/modprobe overlay (code=exited, status=0/SUCCESS)
   Main PID: 13523 (k3s-server)
      Tasks: 9
     Memory: 265.1M
        CPU: 2.463s
     CGroup: /system.slice/k3s.service
             └─13523 /usr/local/bin/k3s server --disable traefik --disable metrics-server --node-name master --docker

포트가 닫혀있어서 열어야 한다.

sudo iptables -I INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT 
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT 
sudo iptables -A INPUT -p tcp --dport 6443 -j ACCEPT 
sudo iptables -A INPUT -p tcp --dport 2379:2380 -j ACCEPT 
sudo iptables -A INPUT -p tcp --dport 10250 -j ACCEPT 
sudo iptables -A INPUT -p tcp --dport 10251 -j ACCEPT 
sudo iptables -A INPUT -p tcp --dport 10252 -j ACCEPT 
sudo iptables -A INPUT -p tcp --dport 30000:32767 -j ACCEPT

에러 1

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
The connection to the server 127.0.0.1:6443 was refused - did you specify the right host or port?

해당 코드로 고쳐서 작성

The connection to the server 127.0.0.1:6443 was refused - did you specify the right host or port?

1. sudo -i

   2. swapoff -a

   3. exit

   4. strace -eopenat kubectl version

에러 2

Error from server (ServiceUnavailable): the server is currently unable to handle the request

삭제

/usr/local/bin/k3s-uninstall.sh 

해당 파일로 설치

sudo apt update
sudo apt install -y docker.io nfs-common dnsutils curl 

#k3s 마스터 설치 

curl -sfL <https://get.k3s.io> | sh -

# 마스터 통신을 위한 설정 
mkdir ~/.kube
sudo cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
sudo chown -R $(id -u):$(id -g) ~/.kube
echo "export KUBECONFIG=~/.kube/config" >> ~/.bashrc
source ~/.bashrc

# 설치 확인 
sudo kubectl cluster-info

kubectl get node -o wide 

마스터 토큰 확인 IP 확인

NODE_TOKEN=$(sudo cat /var/lib/rancher/k3s/server/node-token)
echo $NODE_TOKEN

MASTER_IP=$(kubectl get node master -ojsonpath="{.status.addresses[0].address}")
echo $MASTER_IP

워커 노드 설치

NODE_TOKEN=<마스터에서 확인한 토큰 입력>
MASTER_IP=<마스터에서 얻은 내부IP 입력>

sudo apt update
sudo apt install -y docker.io nfs-common curl

# k3s 워커 노드 설치
curl -sfL <https://get.k3s.io> | K3S_URL=https://myserver:6443 K3S_TOKEN=mynodetoken sh -

마스터 노드 삭제

kubectl get nodes
kubectl drain <node>
kubectl delete nodes <node>

'개발 도서 > 핵심만 콕 쿠버네티스' 카테고리의 다른 글

06 쿠버네티스 네트워킹  (0) 2023.11.17
05 Pod  (0) 2023.11.17
04 쿠버네티스 첫 만남  (0) 2023.11.17
02 쿠버네티스 소개  (0) 2023.11.17
01 도커 기초  (0) 2023.11.17