설치 환경 및 버전
- Rocky Linux 9.3
- Linux 5.14 el9 x86_64
- kubernetes v1.29.2
- cri-o 1.30.0
아래 모든 과정은 root 계정으로 진행했습니다.
설치 과정
1. SELINUX 해제
- /etc/sysconfig/selinux 에서 SELINUX=disabled로 설정
- selinux 해제
setenforce 0
2. 방화벽 해제 (선택)
systemctl stop firewalld
systemctl disable firewalld
방화벽을 해제하지 않는 경우 필수 Port들을 허용해야 한다.
(ex: 6443, 10250 ... )
3. Swap 해제
- /etc/fstab 에서 swap 부분 삭제 또는 주석처리
- swap disable
swapoff -a
4. Kubernetes 설치 (CRI-O)
- kubernetes yum repo 등록 (v1.29 기준이며 최신 version은 아래 url 참고)
https://github.com/kubernetes/kubernetes/releases
sudo cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.29/rpm/repodata/repomd.xml.key
EOF
- cri-o yum repo 등록
cat <<EOF | tee /etc/yum.repos.d/cri-o.repo
[cri-o]
name=CRI-O
baseurl=https://pkgs.k8s.io/addons:/cri-o:/prerelease:/main/rpm/
enabled=1
gpgcheck=1
gpgkey=https://pkgs.k8s.io/addons:/cri-o:/prerelease:/main/rpm/repodata/repomd.xml.key
EOF
- package 종속성 설치
dnf install -y container-selinux
- package 설치 (kubernetes & cri-o)
dnf install -y cri-o kubelet kubeadm kubectl
5. Container Runtime Engine 실행 (cri-o)
systemctl start crio.service
6. Cluster bootstrap
- br_netfilter 모듈 load
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
overlay
br_netfilter
EOF
sudo modprobe overlay
sudo modprobe br_netfilter
# sysctl params required by setup, params persist across reboots
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-iptables = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.ipv4.ip_forward = 1
EOF
# Apply sysctl params without reboot
sudo sysctl --system
- kubernetes control-plane 설치
kubeadm init
정상적으로 설치 완료되었다면 kubeadm join ~~~ 명령어가 나오는데 이를 worker node 설치 후 실행하면 방금 설치한 control plain node에 join 할 수 있다.
7. Cluster 설치 확인
- kubectl 사용을 위한 kubernetes config 파일 복사
mkdir ~/.kube
cp /etc/kubernetes/admin.conf .kube/config
- kubernetes 설치 확인
kubectl get nodes
참고 사이트
반응형
'Kubernetes > 실습' 카테고리의 다른 글
[Kubernetes] 쿠버네티스 구축 총 정리 (containerd) (2) | 2024.11.02 |
---|---|
[Kubernetes] Worker (slave) node upgrade (0) | 2024.03.22 |
[Kubernetes] Control plane (master) node upgrade (0) | 2024.03.14 |
[Kubernetes] kubespray 를 사용한 k8s 설치 (2) | 2023.05.15 |