쿠버네티스 정보

2020. 8. 6. 17:48Computer Architecture/Cluster

출처: https://medium.com/finda-tech/overview-8d169b2a54ff

 

쿠버네티스 구성: 마스터 노드, 워커 노드

 

마스터 노드: 워커 노드에 Pod를 할당하고 Pod안에 컨테이너를 띄우게 하는 역할.

또한 쿠버네티스의 상태를 관리, 여러 Pod 들의 스케줄링도 하는 중추적 역할

 

Kubernetes의 환경 구성하는 kubedam 도구 사용

클러스터를 가장 빨리 구축하기 위한 다양한 기능을 제공

 

주의점:

1.

스왑 메모리 비활성화 해야함!! Why: Pod를 할당하고 제어하는 kubelet은 스왑 상황을 처리하도록 설계되지 않음.

Kubernetes에서 가장 기본이 되는 Pod의 컨셉 자체가 필요한 리소스 만큼만 호스트 자원에서 할당 받아 사용한다는 구조.

Kubernetes 개발팀은 메모리 스왑을 고려하지 않고 설계했기 때문에 클러스터 노드로 사용할 서버 머신들은 모두 스왑 메모리 비활성화 해줘야 함.

 

스왑 메모리 비활성화 명령어: sudo swapoff -a 와 sed -i '2s/^/#/'  /etc/fstab

2. iptables 툴이 nftables 백엔드를 사용하지 않아야 함.

nftables 백엔드는 현재 kubeadm 패키지와 호환되지않는다.

nftables 백엔드를 사용하면 방화벽 규칙이 중복되어 kube-proxy가 중단된다.

 

Kubernetes는 v1.6.0 부터는 기본적으로 CRI(Container Runtime Interface)를 사용하도록 해서 상관 없지만 그 하위 버전에서는 컨테이너 런타임이 설치되어 있어야 한다. (CRI-O, Containerd, Docker 등)

 

마스터 노드와 워커 노드는 네트워크를 통해 통신이 가능해야 한다. --> ping 테스트

컨테이너 런타임 설치(Docker)

코드는 위의 출처 블로그에 있음.

 

Docker 설치가 완료 되었으면, Docker 데몬이 사용하는 드라이버를 cgroupfs 대신 systemd를 사용하도록 설정한다.

 

systemctl status kubelet

journalctl -xeu kubelet

 

docker ps -a | grep kube | gerp -v pause

==> find the failing container, you can inspect its logs with

docker logs CONTAINERID

 

 

 

 

 

+ 데몬 프로세스 설명글:

https://blogger.pe.kr/770

 

데몬(daemon) 프로세스란 무엇인가?

오늘. 누군가가 "데몬(daemon) 프로세스"가 도대체 뭔가요?"라는 질문 던진 것을 인터넷의 한 게시판에서 봤다. 많은 개발자나 엔지니어들이 IT 바닥에서 일을 하면서도 쉽게 접하기 어려운 분야가

blogger.pe.kr

 

- 쿠버네티스 관련 강의:

https://www.inflearn.com/course/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-%EA%B8%B0%EC%B4%88/lecture/24556?tab=curriculum

 

대세는 쿠버네티스 ^o^ [초급~중급] - 인프런

쿠버네티스는 앞으로 어플리케이션 배포/운영에 주류가 될 기술 입니다. 이 강좌를 통해 여러분도 대세에 쉽게 편승할 수 있게 됩니다. 초급 서버 개발 자동화 인프라 Back-End Docker DevOps Kubernetes �

www.inflearn.com