우분투 18.04에 쿠버네티스 설치
다음 명령어는 master 노드와 worker(slave) 노드 모두 설치한다.
단, 몇 개 명령어 제외
Kubernetes Installaion
이 글에서는 2개의 worker (slave) 노드와 한 개의 master 노드로 쿠버네티스를 설치한다.
Step 1 : 도커 설치
1 |
|
설치 후 도커 버전 확인
1 |
|
Step 2 : 도커 활성화
1 |
|
Step3 : Kubernetes signing key 추가
1 |
|
— 만약 Curl 이 설치되지 않았다면?
1 |
|
Step 4 : Xenial Kubernetes Repository 추가
1 |
|
Step 5 : Kubeadm 설치
1 |
|
apt install로 설치가 안될 시 :
1 |
|
설치 후 kubeadm 버전 확인
1 |
|
Step 6 : Kubelet 설치
1 |
|
Kubernetes Deployment
Step 1 : swap memory 비활성화
swap memory를 사용하는 시스템에서는 kubernetes 가 제대로 작동하지 않는다.
1 |
|
Step 2 : 각 노드에 hostname 부여
master 노드
1 |
|
Worker (slave) 노드
1 |
|
Step 3 : Kubernetes 초기화
master 노드
1 |
|
[ERROR Port-10250] Port 10250 is in use
1 |
|
####[preflight] WARNING: ebtables not found in system path
####[preflight] WARNING: ethtool not found in system path
1 |
|
[WARNING IsDockerSystemdCheck] : detected “cgroupfs” as the Docker cgroup driver. The recommended driver is “systemd”. Please follow the guide at https://kubernetes.io/docs/setup/cri/
1 |
|
기타 ..error 발생시 (추천하지 않음)
1 |
|
이 명령어는 다소 시간이 걸린다.
명령어 실행이 끝나면 ‘kubeadm join …….. ‘ 이라는 결과가 나온다.
이를 기록해라
cluster를 시작하기 위해 다음의 명령어를 입력해야한다.
1 |
|
1 |
|
1 |
|
모든 과정을 끝낸 후에 다음의 명령어로 master 노드의 상태를 확인할 수 있다.
1 |
|
결과값을 보면 master 노드의 상태가 “not ready” 인 것을 볼 수 있다.
master 노드에 아직 pod가 배치되지 않았기 때문에 컨테이너 네트워크 인터페이스가 비어 있기 때문이다.
Step 4 : 마스터 노드를 통해 Pod Network 배포
Pod network는 네트워크의 노드들 사이의 통신 수단이다.
해당 블로그에서는 cluster에 “flannel pod network”를 사용한다.
1 |
|
다음 명령어를 통해 네트워크 상태를 볼 수 있다.
1 |
|
이후에 다시 노드의 상태를 확인하면, master 노드의 상태가 “Ready” 인 것을 볼 수 있다.
1 |
|
Step 5 : 클러스터를 구성하기 위해 네트워크에 worker (slave) 노드 추가
Worker (slave) 노드
master 노드에서 ‘kubeadm init’ 명령어를 실행 후 나온 결과값을 입력한다.
1 |
|
그 후 다음 명령어로 노드의 상태를 확인할 수 있다.
1 |
|
두 개의 Worker (slave) 노드와 한 개의 mater 노드가 모두 “running” 상태 인 것을 볼 수 있다.
master 노드가 아닌 worker (slave) 노드에서 kubectl 명령어를 사용하면 다음과 같은 오류가 난다.
The connection to the server localhost:8080 was refused
kubectl 명령어는 master 노드에서만 사용할 수 있다. 다른 노드에서 kubectl 명령어를 사용하려면 master 노드에서 생성한 admin.conf 파일을 복사해 온 후 다음 명령어를 입력하면 된다.
1 |
|
1 |
|
1 |
|
출처
https://vitux.com/install-and-deploy-kubernetes-on-ubuntu/
https://kubernetes.io/docs/setup/independent/troubleshooting-kubeadm/
https://www.digitalocean.com/community/tutorials/how-to-install-and-use-docker-on-ubuntu-18-04
https://github.com/kubernetes/kubeadm/issues/1145
https://www.ibm.com/support/knowledgecenter/ko/SSBS6K_2.1.0.3/troubleshoot/kubelet_fails.html