(Kubernetes) AWS Linux에 MasterNode 설치하기(Linux배포판 동일)
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