쿠버네티스 환경구성 Tool
1. kops(콥스) : 클러스터 관리하는 CLI도구 -> AWS Cloud에서만 사용가능, 자동환경설정 구성을 해줌
▼▼▼ kops(콥스) 로 쿠버네티스 환경구성하기 ▼▼▼
https://pearlluck.tistory.com/166?category=854934
쿠버네티스 환경구성(kops.ver)
테스트환경 : 우분투16.04생성해서 그 내부에서 테스트 1. kops를 사용할 도커컨테이너 생성 docker run -it -name kops ubuntu:16.04 2. 우분투 컨테이너 안에서 패지키 설치 apt update && apt install python3..
pearlluck.tistory.com
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은 오류메시지 출력하고 종료
쿠버네티스 환경구성2 - docker / 쿠버네티스설치
목적 : k8s의 runtime을 위한 docker 설치 OS : 우분투 18.04.4 -> 우분투 16.04 로 변경 쿠버네티스 runtime(docker) 설치 1. 패키지 관리 도구 업데이트 sudo apt udpate sudo apt-get update 2. 기존에 설치된..
pearlluck.tistory.com
kubernetes에서 권장하는 버젼의 범위가 최대 v18.09
10) 모든 시스템에 완벽한 네트워크 연결이 이루어져 있어야함
마스터노드와 워커노드가 네트워크를 통해 통신이 가능해야함
출처
https://medium.com/finda-tech/overview-8d169b2a54ff
Kubernetes 설치 및 환경 구성하기
How to configure a Kubernetes cluster
medium.com
'🌴 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 |