연구실 프로젝트 Season1 Ep2
출처: https://andrewpage.tistory.com/234
출처: https://aoc55.tistory.com/54
https://dongle94.github.io/kubernetes/kubernetes-cluster-build/
노드 구성
master node 1개
worker node 2개
Container Runtime Interface(CRI)
CRI-O를 설치했다. 쿠버네티스 표준에 가까운 런타임이다.
그러나 도커 런타임 보다 편의 기능이 부족하다. 따라서 Podman을 설치해준다.
Podman으로 도커처럼 이미지를 만들어주는 것이 가능한듯하다.
20.04 버전 이후로 우분투에 기본 탑재되어 있다고 하나 뭐가 잘 안돼서 따로 검색해서 해결했다.
하단 링크 참고
https://techviewleo.com/how-to-install-podman-on-ubuntu/
결론적으로 해결했다.
Buildah의 경우 22.04에서 사용이 불가능하다고 한다. Podman도 힘겹게 설치했으니 최대한 사용해보자.
kubeadm, kubelet, kubectl 설치
kubeadm: kubernetes cluster를 구축하기 위한 명령 도구
kubelet: master node, worker node에서 데몬 프로세스로 기동 되어 있으면서, container와 pod를 생성/삭제/상태를 감시한다.
kubectl: 사용자가 kubernetes cluster에게 작업 요청하기 위한 명령 도구 (예를 들어, 'pod를 생성해 달라!' 'pod의 개수를 늘려달라!' 같은 사용자 명령을 kunernetes API server에게 전달)
CNI란?
CNI(Container Network Interface)는 컨테이너 간의 네트워킹을 제어할 수 있는 플러그인을 만들기 위한 표준이다. 쿠버네티스에서는 Pod 간의 통신을 위해서 CNI 를 사용한다. 나는 Cilium을 쓰기로 했다. Cilium에 대한 내용이 상당히 많아서 여기서는 설치법만 적고 따로 포스팅을 할 예정이다.
https://velog.io/@jopopscript/kubernetes-설치on-ubuntu
hubble 활성화
https://docs.cilium.io/en/stable/gettingstarted/hubble_setup/#hubble-setup
sudo kubeadm reset #쿠버네티스 초기화(master, worker 둘다 해당)
sudo kubeadm init #쿠버네티스 마스터 노드 설정(master 해당)
#or
sudo kubeadm init --apiserver-advertise-address "ip주소"
# 마스터 노드 생성후 후처리
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl get nodes #노드 연결 테스트
마스터 노드 한개를 만들고 worker node 2개를 물렸다.
'DevOps & Cloud' 카테고리의 다른 글
3. Cilium (0) | 2023.01.11 |
---|---|
서버 및 쿠버네티스 설정값 (0) | 2023.01.10 |
1. OpenStack Instance의 SSH 접속 (0) | 2023.01.10 |
Bash Shell 프로그래밍(기초, 예제) (0) | 2023.01.03 |
GitLab - CI(Continuous Integration) 실습 (0) | 2023.01.03 |