PaaS/Kubernetes

(Kubernetes) AWS Linux에 MasterNode 설치하기(Linux배포판 동일)

armyost 2021. 8. 18. 17:25
728x90

CentOS와 Debian과는 약간의 상의한 점이 있어 별로도 올린다.

 

■ 사전 OS 작업

SELINUX 끄기
$ setenforce 0
 
swap 비활성화
$ swapoff -a


■ 사전 방화벽 작업
넷필터 모듈 호출여부 확인
$ lsmod | grep br_netfilter

만약 로딩이 안되어 있으면
$ sudo modprobe br_netfilter

Linux의 Iptable이 브릿지 트래픽을 보아야함
-------------------------------------------------------
$ cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF


-------------------------------------------------------
$ cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF


-------------------------------------------------------

 

$ sudo sysctl --system

$ sudo bash -c 'echo 1 > /proc/sys/net/ipv4/ip_forward'


■ 도커 런타임 설치
$ sudo amazon-linux-extras install -y docker

-------------------------------------------------------
$ 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


-------------------------------------------------------

$ sudo systemctl enable docker
$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

■ kubeadm, kubelet, kubectl설치
$ cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
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
exclude=kubelet kubeadm kubectl
EOF

$ sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

$ sudo systemctl enable --now kubelet