[Kubernetes #1. 사전작업 (offline, 폐쇄망)]
[Kubernetes #2-2. 사전작업 – 컨테이너 런타임 (offline, 폐쇄망)]
[Kubernetes #2-2. 사전작업 – docker 설정 (offline, 폐쇄망)]
[Kubernetes #3. Kubernetes 바이너리 설치 (offline, 폐쇄망)]
[Kubernetes #4. Kubernetes 클러스터 구축 – image pull (offline, 폐쇄망)]
[Kubernetes #4-2. Kubernetes 클러스터 구축 – 단일 마스터노드 생성 (offline, 폐쇄망)]
[Kubernetes #4-3. Kubernetes 클러스터 구축 – worker node join (offline, 폐쇄망)]
쿠버네티스 공식 홈페이지의 가이드를 따르면 쉽게 설치할 수 있다.
하지만 경우에 따라 외부 연결이 불가능한 폐쇄망 등에 설치해야 하는 경우를 가정하여 설치하는 방법을 설명한다. (물론 이 방법도 쿠버네티스 공식 홈페이지에 잘 설명되어있다.)
기본적으로 쿠버네티스 클러스터는 노드간 통신에 별도의 네트워크를 사용한다.
(별도의 물리적 변경이 아닌 가상 환경) 이를 위해 브릿지 관련 설정을 변경한다.
이 포스트의 작업은 쿠버네티스 클러스터에 포함하는 모든 노드에서 수행해야 한다.
브릿지 네트워크 관련 설정 변경
[haedong@haedongg.net:~]$ sudo cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf br_netfilter EOF
[haedong@haedongg.net:~]$ sudo cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-iptables = 1 EOF
[haedong@haedongg.net:~]$ sudo sysctl --system [haedong@haedongg.net:~]$ sudo sysctl -p net.ipv4.tcp_keepalive_time = 160 net.ipv4.ip_forward = 1 net.ipv4.conf.default.rp_filter = 2 net.ipv4.conf.all.rp_filter = 2 net.ipv4.conf.default.accept_source_route = 0 net.ipv4.tcp_syncookies = 1 vm.min_free_kbytes = 524288 ...중략 net.bridge.bridge-nf-call-iptables = 1 net.bridge.bridge-nf-call-ip6tables = 1 net.bridge.bridge-nf-call-arptables = 1 ...생략
SELINUX 해제
[haedong@haedongg.net:~]$ vi /etc/selinux/config ...중략... # 기본값은 SELINUX=enforced disabled로 수정한다. SELINUX=disabled ...생략
swap 메모리 해제
swap 여부 확인
[haedong@haedongg.net:~]$ free -g total used free shared buff/cache available Mem: 62 3 0 0 57 57 Swap: 99 0 99
swap 해제
[haedong@haedongg.net:~]$ swapoff -a
해제 확인
[haedong@haedongg.net:~]$ free -g total used free shared buff/cache available Mem: 62 3 0 0 57 57 Swap: 0 0 0
fstab 수정 ( swap 파티션이 마운트되지 않도록 설정)
[haedong@haedongg.net:~]$ sudo vi /etc/fstab /dev/mapper/centos-root / xfs defaults 0 0 UUID=111f15c1-7697-4597-1234-b7f231009876 /boot xfs defaults 0 0 #/dev/mapper/centos-home /home xfs defaults 0 0 # 아래 줄을 주석처리 한다. #/dev/mapper/centos-swap swap swap defaults 0 0
hostname 과 hosts 파일 수정
쿠버네티스는 기본적으로 kubeadm init 시 hostname을 참조한다. 별도의 DNS를 사용하지 않는다면 /etc/hosts 파일에 호스트 명과 IP 정보를 적어준다.
[haedong@haedongg.net:~]$ vi /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 # 현재 서버의 정보가 없을 경우 다음 줄 추가 192.168.192.168 haedongg.net