본문 바로가기

쿠버네티스

쿠버네티스 설치

쿠버네티스 설치전 기본 세팅

1. selinux 비활성화

현재 selinux를 pemissive로 바꾸고 재부팅 후에도 비활성화 되도록 설정 파일 변경

 

 

2. 방화벽 비활성화

 

3. swap 메모리 비활성화

재부팅 후에도 swap 메모리가 비활성화 되도록 오토 마운트 설정 벼녕

 

 

4. iptalbes 커널 설정

 

 

5. hosts 설정

 

 

6. 패키지 업데이트

yum -y update

 

 

쿠버네티스 설치

1. docker 설치

docker 설치 확인

 

 

2. Cgroup Driver 설정

도커 설치 정보 확인

쿠버네티스에서 도커의 cgroup 관리를 위해 systemd를 사용하도록 변경해야 한다

변경하지 않을 시 클러스터 설치 과정에서 오류가 발생할 수 있다

 

 

3. 쿠버네티스 리포지토리 추가

 

4. 쿠버네티스 패키지 설치

kublet : 파드 및 컨테이너의 생성, 실행 등의 작업을 수행

kubeadm : 쿠버네티스의 클러스터를 구축하기 위해 사용

kubectl : 클러스터와 통신하는 명령어라인 인터페이스

 

kubelet 실행

 

마스터 노드 작업

1. 클러스터 생성

클러스터 생성시 오류 발생

kubeadm init : 쿠버네티스 클러스터 생성

pod-network-cidr : 파드 네트워크의 IP 주소 범위

apiserver-advertise-addree : 마스터 노드 IP

 

위처럼 container runtime 오류가 발생할 경우

/etc/containerd/config.toml 파일을 삭제 후 containerd를 재실행 한다

 

성공적으로 클러스터 생성 완료

클러스터를 시작하기 위해 메시지에 나온 것처럼 일반사용자 또는 root 사용자에 맞는 작업을 해준다

 

 

2. CNI 플러그인 설치

 

클러스터 생성 후 파드를 확인해 보면 coredns가 보류중이고 노드가 NotReady 상태인 것을 확인할 수 있다

이는 CNI 플러그인이 미설치 되어있기 때문이다

서로 다른 노드에 있는 파드 또는 외부와 통신하기 위해 CNI 플러그인을 설치한다

 

클러스터 생성 후 노드 및 파드 확인
플라넬 CNI 플러그인 설치

CNI 플러그인 설치 후 다시 확인하면 모두 상태가 바뀐 것을 확인할 수 있다

 

 

워커노드 작업

아까 마스터 노드에서 클러스터 생성시 나왔던 JOIN 명령어를 그대로 실행한다

다시 마스터 노드로 가서 확인해 보면

 

worker의 노드가 클러스터에 join 된것을 확인할 수 있다

만약 클러스터 생성시 해당 명령어를 복사해 놓지 않았다면 다음과 같은 명령어로 값을 확인한 뒤 입력한다

 

 

Token 값 확인 및 생성

kubeadm token list

kubeadm token create

 

Hash 값 확인

openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'

 

JOIN 명령

kubeadm join <Kubernetes API Server:PORT> --token <Token 값> --discovery-token-ca-cert-hash sha256:<Hash 값>

'쿠버네티스' 카테고리의 다른 글

Deployment & Service  (0) 2023.05.01
파드 생성하고 관리하기  (0) 2023.05.01
쿠버네티스의 이해  (0) 2023.04.29
쿠버네티스 시작 전 기본 개념  (0) 2023.04.29