쿠버네티스는 일반적인 서버 클러스터 환경에서도 쿠버네티스를 쉽게 설치할 수 있는 kubeadm이라는 관리도구를
제공합니다.
kubeadm은 쿠버네티스 커뮤니티에서 권장하는 설치 방법 중 하나이기 때문에 쿠버네티스를 처음 시작하는 사람도 쉽게 쿠버네티스 클러스터를 설치할 수 있다는 장점이 있습니다.
1. 쿠버네티스 클러스터로 사용할 서버를 마스터 노드 1대, 워커노드 3대로 준비
kube-master1 172.15.0.158
kube-worker1 172.15.0.159
kube-worker2 172.15.0.160
kube-worker3 172.15.0.161
2. 쿠버네티스 저장소 추가
: 모든 노드에서 다음 명령어를 차례대로 입력해 쿠버네티스 저장소를 추가 합니다.
$ curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
$ cat <<EOF > /etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
3. 스왑 해제
swapoff -a
$ swapoff -a
4. 쿠버네티스 repostitory에 추가
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF
5. kubelet 설치
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable --now kubelet
6. kubeadm init
: 마스터 노드에서 다음과 같은 명령어로 클러스터를 초기화 합니다.
$ kubeadm init --apiserver-advertise-address 172.15.0.158 \
--pod-network-cidr=192.168.0.0/16
[에러처리]
1. 사용중 포트 찾기 / kill하기
( kubeadm reset시 , 사용중인 포트를 지우고, /etc/kubernetes 파일을 삭제한다. )
# docker 초기화 $ docker rm -f `docker ps -aq` $ docker volume rm `docker volume ls -q` $ umount /var/lib/docker/volumes $ rm -rf /var/lib/docker/
$ systemctl restart docker
# k8s 초기화 $ kubeadm reset $ systemctl restart kublet
# iptables에 있는 데이터를 청소하기 위해 $ reboot |
$ netstat -lnp | grep 1025
$ kill xxxx
2. 인증서 불일치 :
Unable to connect to the server: x509: certificate signed by unknown authority (possibly because of "crypto/rsa: verification error" while trying to verify candidate authority certificate "kubernetes")
# $HOME/.kube/config 파일에 유효한 인증서가 포함되어 있는지 확인하고, 필요한경우 인증서를
다시 생성하십시오.
# 환경변수 설정 해제 / export
$ unset KUBECONFIG
$ export KUBECONFIG=/etc/kubernetes/admin.conf
3. kubeadm init 명령어 입력시
: kubeadm join token:xdce134 ~~~ 를 뱉어내지 않을때
kubeadm reset
rm -rf /var/lib/cni/
systemctl daemon-reload
systemctl restart kubelet
iptables -F && sudo iptables -t nat -F && sudo iptables -t mangle -F && sudo iptables -X
'컨테이너 > Kubernetes' 카테고리의 다른 글
[Kubernetes] (9) Pod (1) | 2021.01.07 |
---|---|
[Kubernetes](8) kubeadm으로 k8s 구성(2) (0) | 2021.01.06 |
[쿠버네티스] (5) 서비스 만들기 (0) | 2020.12.23 |
[쿠버네티스] (6) 서비스 & microservice (0) | 2020.12.20 |
[쿠버네티스] (4) 레플리카 셋 사용하기 (0) | 2020.12.12 |