AWS

쿠버네티스 만들어보자

elikim 2021. 5. 23. 01:28

<사전 준비>

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