쿠버네티스 만들어보자
<사전 준비>
SELinux 끄기
vi /etc/selinux/conf
enforcing -> permissive
방화벽 해제
swap 비활성화 : swapoff -a && sed -i '/ swap / s/^/#/' /etc/fstab
iptable 커널 옵션 활성화
cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system
쿠버네티스 리포지터리 설정
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
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
EOF
호스트 등록
cat << EOF >> /etc/hosts
192.168.111.100 k8s-master
192.168.111.111 k8s-node1
192.168.111.112 k8s-node2
192.168.111.113 k8s-node3
EOF
도커 설치 전 필요한 패키지 설치
dnf install -y yum-utils device-mapper-persistent-data lvm2 =>centos8에는 다 있음
도커 저장소 설정
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
도커 설치
dnf install docker-ce-19.03.15-3* --nobest --allowerasing(혹시 문제가 된다면 입력한다)
쿠버네티스 설치
dnf install -y --disableexcludes=kubernetes kubeadm-1.21.1*
도커 실행
systemclt daemon-reload
systemctl enable --now docker
docker run hello-world
systemctl enable --now kubelet
쿠버네티스 초기화 명령 실행
kubeadm init --pod-network-cidr=10.96.0.0/12
- 시간이 조금 걸리더라. 인내심을 갖자.
이후 출력되는 kubeadm join 이하 값을 저장
-> kubeadm join 192.168.111.100:6443 --token hoafv9.t31gdl9v2zb0oe0h \
--discovery-token-ca-cert-hash sha256:7df05168410841410307a22a04671b2f3408db8030ef7deb191598539a4efb95
kubectl 실행을 위한 환경변수 설정
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config