ssouf

쿠버네티스 v1.27 ubuntu 23.04 Server 에 설치 본문

카테고리 없음

쿠버네티스 v1.27 ubuntu 23.04 Server 에 설치

황금니 2023. 5. 28. 01:52

ubuntu 23.04 minimal 로 설치

 

 

Set up the repository

sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release
sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

install docker

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

Docker 설치 확인

sudo docker run hello-world

cri-dockerd 설치

git clone https://github.com/Mirantis/cri-dockerd.git
# Run these commands as root
###Install GO###
wget https://storage.googleapis.com/golang/getgo/installer_linux
chmod +x ./installer_linux
./installer_linux
source ~/.bash_profile

cd cri-dockerd
mkdir bin
go build -o bin/cri-dockerd
mkdir -p /usr/local/bin
install -o root -g root -m 0755 bin/cri-dockerd /usr/local/bin/cri-dockerd
cp -a packaging/systemd/* /etc/systemd/system
sed -i -e 's,/usr/bin/cri-dockerd,/usr/local/bin/cri-dockerd,' /etc/systemd/system/cri-docker.service
systemctl daemon-reload
systemctl enable cri-docker.service
systemctl enable --now cri-docker.socket

--아래의 메세지가 나오면 설치완료
Created symlink /etc/systemd/system/multi-user.target.wants/cri-docker.service → /etc/systemd/system/cri-docker.service.
Created symlink /etc/systemd/system/sockets.target.wants/cri-docker.socket → /etc/systemd/system/cri-docker.socket.

swap off

sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab

kubeadm 설치

sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
sudo curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
OK 가 떨어지면 확인
sudo vi /etc/apt/sources.list.d/kubernetes.list
아래한줄 추가후 wq!
deb http://apt.kubernetes.io/ kubernetes-xenial main


cd /etc/apt
sudo cp trusted.gpg trusted.gpg.d


sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

--실행
kubeadm init --cri-socket unix:///var/run/cri-dockerd.sock --pod-network-cidr=192.168.0.0/16

kubeadm init --cri-socket unix:///var/run/cri-dockerd.sock --apiserver-advertise-address=192.168.0.16 --pod-network-cidr=10.244.0.0/16

 

(Trouble) 설치 중 에러 발생시 클린 삭제 후 재 설치를 진행한다

# All Node
sudo systemctl stop kubelet
sudo kubeadm reset -f --cri-socket /var/run/cri-dockerd.sock

sudo rm -rf ~/.kube
sudo rm -rf /root/.kube
sudo rm -rf /var/lib/etcd
sudo rm -rf /etc/kubernetes

Calico Network 만 삭제하고 싶다면

# ALL Node
kubectl delete -f custom-resources.yaml
kubectl delete -f tigera-operator.yaml
sudo rm -rf /var/run/calico/
sudo rm -rf /var/lib/calico/
sudo rm -rf /etc/cni/net.d/
sudo rm -rf /var/lib/cni/
sudo rm -rf /opt/cni
sudo reboot

## flannel 관련 파일 삭제 ##

rm -rf /var/lib/cni/

rm -rf /etc/cni/

rm -rf /run/flannel

 

## 네트워크 설정 삭제 ##

ifconfig cni0 down

ip link delete cni0

ip link delete flannel.1

 

[ 클러스터 초기화 ]
# Docker 초기화
$ docker rm -f `docker ps -aq`
$ sudo rm -rf /var/lib/docker/
$ sudo systemctl restart docker


# kubeadm 초기화
$ sudo kubeadm reset cleanup-node
$ sudo systemctl restart kubelet

 

sudo rm /etc/containerd/config.toml
sudo systemctl restart containerd

 

kubeadm JOIN

kubeadm join 192.168.18.162:6443 --token l0yywo.0el06rpeoenvh06z --discovery-token-ca-cert-hash sha256:40295a429b95403aa9d292ba92b19294a270798b267c6859937894c24bee565a 

--cri-socket unix:///var/run/cri-dockerd.sock

 

kubectl get nodes

$ kubectl get nodes

connection refused ? 에러발생시 

cp /etc/kubernetes/admin.conf $HOME/
chown $(id -u):$(id -g) $HOME/admin.conf
export KUBECONFIG=$HOME/admin.conf