K8s Rocky Linux 8 설치가이드

설치

먼저, docker를 먼저 설치하고, k8s 설치 바람.

쿠버네티스 버전 1.24.0 이전이면, 도커와 쿠버네티스가 연동되는 dockershim이 있었지만, 1.24.0 버전 이후에는 따로 설정을 해줘야 함.

docker를 설치한 후,

도커 데몬 설정

#/etc/docker 디렉토리 없을 경우 생성
sudo mkdir /etc/docker

#daemon.json 파일 추가
sudo cat <<EOF | sudo tee /etc/docker/daemon.json
{
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
EOF

cgroup(runc) 옵션 설정

#containerd 구성 파일 생성
sudo mkdir -p /etc/containerd

#containerd 기본 설정값으로 config.toml 생성
sudo containerd config default | sudo tee /etc/containerd/config.toml

#config.toml 파일 수정
vi /etc/containerd/config.toml

# cgroup driver(runc) 사용하기 설정
[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
  SystemdCgroup = true

#수정사항 적용 및 재실행
sudo systemctl restart containerd

docker 재시작

#도커 재시작
sudo service docker restart

#도커 상태 조회
sudo service docker status

CentOS

1) Swap disabled
swapoff -a && sed -i '/swap/s/^/#/' /etc/fstab

2) Letting iptables see bridged traffic
# cat <<EOF > /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
# sysctl --system

3) Disable firewall
# systemctl stop firewalld 
# systemctl disable firewalld

4) Set SELinux in permissive mode (effectively disabling it)
# setenforce 0
# sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config

5) kubeadm, kubelet, kubectl 설치.
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

6) install.
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable --now kubelet

master node에서만 실행

kubeadm init

여기서 error동작 없으면, 정상임.

mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

입력 후, kubectl get nodes 실행


관리자 계정으로 실행하려면..

$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config

댓글

댓글 남기기