※ 실행환경 CENTOS 7.9
- Proxy, 인증키 등이 필요 없는 환경에서의 설치 진행입니다.
- 또한 root 권한으로 설치 진행합니다.
1. 기반 환경 세팅
1) yum update
# yum update -y
2. Docker 설치
1) Docker Repository 등록
# yum install -y yum-utils
# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
2) Docker 버전 리스트
# yum list docker-ce --showduplicates | sort -r
3) Docker 설치
최신 버전의 Docker 설치
# yum install docker-ce docker-ce-cli
특정 버전의 Docker 설치
# yum install docker-ce-<VERSION_STRING>
ex) yum install docker-ce-20.10.10
※ 특정 k8s에서 사용할 수 있는 docker 버전을 설치해야 함.
※ k8s 1.18에 맞는 docker는 docker-ce-19.03.11
4) Docker daemon 시작
부팅 시 서비스 자동 시작
# systemctl enable docker
Docker 시작
# systemctl start docker
5) docker 의 cgroup driver를 systemd로 설정
# cat <<EOF>> /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2",
"storage-opts": [
"overlay2.override_kernel_check=true"
]
}
EOF
# systemctl restart docker
변경된 cgroup 확인
# docker info | grep -i cgroup
3. Kubernetes 설치
1) selinux 비활성화
# setenforce 0
# sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
2) swap 비활성화
# swapoff -a
# sed -i '/ swap / s/^\\(.*\\)$/#\\1/g' /etc/fstab
3) 방화벽 비활성화
# systemctl disable firewalld
# systemctl stop firewalld
4) iptables 커널 설정
# cat <<EOF>> /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
# sysctl --system
5) hosts 설정
# vi /etc/hosts
다음 입력
<Master Node IP> k8s-master
<Worker Node IP>k8s-worker1
# vi /etc/hostname
다음 입력
k8s-master 또는 k8s-worker1 입력
6) k8s yum repository 설정
# 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
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
EOF
7) k8s 패키지 설치
설치 가능한 패키지 리스트 보기
# yum -v list kubelet --show-duplicates
특정 버전의 k8s 패키지 설치
# yum install -y kubelet-<VERSION_STRING> kubeadm-<VERSION_STRING> kubectl-<VERSION_STRING> --disableexcludes=kubernetes
ex) yum install -y kubelet-1.23.10 kubeadm-1.23.10 kubectl-1.23.10 --disableexcludes=kubernetes
ex) yum install -y kubelet-1.18.20 kubeadm-1.18.20 kubectl-1.18.20 --disableexcludes=kubernetes
8) kubelet 실행
# systemctl enable kubelet
# systemctl start kubelet
4. Kubernetes Master Node 설치
# kubeadm init
# mkdir -p $HOME/.kube
# sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
# sudo chown $(id -u):$(id -g) $HOME/.kube/config
5. Kubernetes Worker Node 설치
master node에서 token 값 확인
# kubeadm token list
master node에 기존 token이 존재하지 않는 경우, 이후 나타나는 key 값으로 worker node에서 join 한다.
# kubeadm token create --print-join-command
'클라우드,가상화 > K8S' 카테고리의 다른 글
k8s - Deployment (0) | 2023.07.02 |
---|---|
k8s - ReplicaSet (0) | 2023.07.02 |
k8s - Pod (0) | 2023.07.02 |
k8s - Overview (0) | 2023.07.02 |
Minikube 설치 (0) | 2023.05.20 |