1. kubernetes 구성 방안
God Bless "IT Engineer"
kubernetes가 설치되는 시스템들은 아래와 같은 설정이 필요하다.
1. swap 사용하지 않도록 구성
2. br_netfilter 모듈 활성화
3. bridge-nf-call-iptables, ip_forward 활성화
4. 시스템에 kubernetes repo 등록
5. containerd 설치
6. kubernetes 관련 프로그램 설치
Swap 비활성화
- swapoff 명령어로 기존 설정된 swap 해제
Kubernetes 구성 환경 정리
Control plane
- OS : ubuntu 20.04
- hostname : ubuntu2004-001
- IP : 192.168.122.11
Node 1
- OS : ubuntu 20.04
- hostname : ubuntu2004-002
- IP : 192.168.122.12
Node 2
- OS : ubuntu 20.04
- hostname : ubuntu2004-003
- IP : 192.168.122.13
Node 3
- OS : ubuntu 20.04
- hostname : ubuntu2004-004
- IP : 192.168.122.14
ubuntu 20.04 live server용 이미지 다운로드
# wget https://releases.ubuntu.com/20.04.4/ubuntu-20.04.4-live-server-amd64.iso
해당 이미지의 파일로 다운 받는다. 그렇지 않으면 cloud-init이 동작하지 않을 수 있다.
iso 파일의 내부 파일을 디렉토리로 복사
# mkdir iso-mount
# mkdir iso-files
# mount ubuntu-20.04.4-live-server-amd64.iso iso-mount
# rsync -rtlv iso-mount/ iso-files/
iso를 재구성하기 위한 패키지 설치
apt install -y p7zip-full xorriso isolinux
iso-files 디렉토리의 파일을 신규 iso로 만드는 방법
go(golang) 1.16 버전 이후, go.mod를 사용하도록 강제되었다.
이런 이유로 1.15 버전으로 만들어진 패키지를 실행하기 위해서 패키지를 설치하면 아래와 같은
오류가 잔뜩 발생한다.
% go run read_config.go
read_config.go:4:5: no required module provides package gopkg.in/gcfg.v1: go.mod file not found in current directory or any parent directory; see 'go help modules'
그렇다고 필요 패키지를 설치하려면 오류가 발생해서 workaround로 아래 설정해주려니 잠시는 되어도 호환성 문제가 발생한다.