쿠버네티스 환경구성 Tool
1. kops(콥스) : 클러스터 관리하는 CLI도구 -> AWS Cloud에서만 사용가능, 자동환경설정 구성을 해줌
▼▼▼ kops(콥스) 로 쿠버네티스 환경구성하기 ▼▼▼
https://pearlluck.tistory.com/166?category=854934
2. kubeadm(큐브어드민) : 쿠버네티스에서 제공하는 설치툴 -> 하나하나 일일이 다 지정해야함(공부하긴 좋음)
▼▼▼ kubeadm(큐브어드민)로 쿠버네티스 환경구성하기 ▼▼▼
1. kubeadm(큐브어드민) 사용 전제조건 (본글)
5. 워커노드 설정
kubeadm (큐브어드민)
쿠버네티스에서 제공하는 기본적인 tool로, 쿠버네티스를 가장 빨리 구축하기 위한 기능을 제공
단, 클러스터를 어떻게 생성할지 일일이 하나하나 지정해야하는 방법
Kubeadm 커맨드라인 주요 명령어
- kubeadm init : 마스터노드 초기화
- kubeadm join : 워커노드 초기화, 클러스터 연결
- kubeadm upgrade : 클러스터 업그레이드
- kubeadm token : 부트스트랩 토큰을 사용한 인증방식, 클러스터에 참여하는 노드 신뢰결정
- kubeadm reset : kubeadm init , kubeadm join 변경사항 복구
- kubeadm version : kubeadm 버전확인
kubeadm (큐브어드민) 테스트 전제조건
1) OS
- Ubuntu 16.04 이상
- Debina 9이상
- CentOS 7이상
- Redhat Enterprise Linux 7 이상
- Fedora 25이상
2) CPU 2개이상
현재 테스트를 AWS의 인스턴스에 올라간 Ubtuntu 사용
그리고 프리티어로 t2.micro사용했는데 CPU 2개이상 조건이라 인스턴스 타입 t2.large로 변경
3) 2GB 이상의 RAM
(참고) CPU /RAM 정보확인하는 명령어 : dmidecode
4) 모든 노드에 고유한 호스트이름, 고유한 MAC 주소, 고유한 Product_uuid 지정되어 있어야함
(참고) MAC주소확인 명령어 : ifconfig -a
(참고) prodct_uudi 확인 명령어 : sudo cat sys/call/dmi/ip/product_uuid
5) 스왑 메모리 비활성화
pod는 필요한 리소스만 호스트자원에서 할당받아서 사용하기 때문에 스왑상황을 고려하지 않음
그래서 클러스터 노드로 사용할 서버머신들은 스왑메모리 비활성화
(참고) 스왑메모리 비활성화 명령어 : swapoff -a 와 sed -i '2s/^/#/' /etc/fstab
단, etc/fstab 파일내용 먼저 확인하기
해당 명령어는 2번째 라인 맨앞에 주석처리(#) 하라는 뜻인데
2번째 라인에 루트 파티션에 대한 내용이 있으면 위험
6) iptables 툴이 nftables 백엔드 사용하지 않아야함
7) 마스터노드에서 6443, 2379~2380, 10250, 10251, 10252 포트가 사용되고 있지 않아야 한다.
- 6443 포트 : Kubernetes API Server / Used By All
- 2379~2380 포트 : etcd server client API / Used By kube-apiserver, etcd
- 10250 포트 : Kubelet API / Used By Self, Control plane
- 10251 포트 : kube-scheduler / Used By Self
- 10252 포트 : kube-controller-manager / Used By Self
8) 워커노드에서 10250, 30000~32767 포트가 사용되고 있지 않아야 한다.
- 10250 포트 : Kubelet API / Used By Self, Control plane
- 30000~32767 포트 : NodePort Services / Used By All
9) 컨테이너 런타임(docker)이 설치되어 있어야함
두개이상의 컨테이너 런타임이 감지되면 kubeadm은 오류메시지 출력하고 종료
kubernetes에서 권장하는 버젼의 범위가 최대 v18.09
10) 모든 시스템에 완벽한 네트워크 연결이 이루어져 있어야함
마스터노드와 워커노드가 네트워크를 통해 통신이 가능해야함
출처
https://medium.com/finda-tech/overview-8d169b2a54ff
'🌴 DevOps > Docker & K8s' 카테고리의 다른 글
쿠버네티스 환경구성(kops.ver) - kops 명령어 TroubleShooting (0) | 2020.05.18 |
---|---|
쿠버네티스 환경구성(kops.ver)(2/2) -쿠버네티스 설정파일 확인 (0) | 2020.05.17 |
쿠버네티스 환경구성(kops.ver)(1/2) -클러스터/노드 구성 (0) | 2020.05.17 |
쿠버네티스 구성요소(5/5)- Namespace 목적 및 특징 (0) | 2020.05.17 |
[Docker4] Docker로 Apache/Tomcat 연결하기(진행) (0) | 2020.05.03 |
[Docker3] docker 기본명령어(run/ps/logs/exec) (1) | 2020.05.03 |