이전 시간에는 Kubernetes 설치를 위한 사전 작업을 진행했습니다.
이번 시간에는 Kubeadm을 통해 kubernetes를 설치하고, 편의기능을 설치하는 Vagrant Script를 작성하고 분석해보겠습니다.
echo '======== [7] kubeadm 설치 ========'
echo '======== [7] repo 설정 ========'
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.27/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.27/rpm/repodata/repomd.xml.key
exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni
EOF
echo '======== [7] SELinux 설정 ========'
setenforce 0
sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
echo '======== [7] kubelet, kubeadm, kubectl 패키지 설치 ========'
yum install -y kubelet-1.27.2-150500.1.1.x86_64 kubeadm-1.27.2-150500.1.1.x86_64 kubectl-1.27.2-150500.1.1.x86_64 --disableexcludes=kubernetes
systemctl enable --now kubelet
SHELL
kubeadm은 kubernetes cluster를 초기화하거나 관리할 때 사용합니다.
kubectl은 kubernetes cluster와 상호작용하는 커맨드라인입니다.
kubelet은 노드에서 실행되며 컨테이너를 관리합니다.
▶ repo 설정 확인
[root@k8s-master ~]# yum repolist enabled
▶ 실행 결과
[Kubernetes Docs] : https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#kubeadm-kubelet-및-kubectl-설치
▶ SELinux 설정 확인
[root@k8s-master ~]# cat /etc/selinux/config [root@k8s-master ~]# sestatus