쿠버네티스 클러스터를 직접 구성하는 도구
- kubeadm
공식 설치툴
쿠버네티스에서 공식으로 제공하는 클러스터 생성/관리 도구 - kubespray
오픈소스 프로젝트
다양한 형식으로 쿠버네티스 클러스터 구성가능
On-premise에서 상용 서비스 클러스터 운영시 유용
다양한 CNI 제공 - CNI(Container Network Interface)
컨테이너 - 컨테이너 간 통신 인터페이스를 지원하는 SW
쿠버네티스 사용시 반드시 설치
VxLAN, Pod Network 라고도 표현
쿠버네티스 클러스터 구성
- Control Plane(Master node) - 관리
워커 노드들의 상태를 관리하고 제어 - Worker node - 실제 App 실행
도커 플랫폼을 통해 컨테이너를 동작하며 실제 서비스 제공
설치 순서
- 도커 설치
https://docs.docker.com/engine/install/ubuntu/ - 쿠버네티스 설치
https://kubernetes.io/ko/docs/setup/production-environment/tools/kubeadm/install-kubeadm/
#swap off
swapoff -a && sed -i '/swap/s/^/#/' /etc/fstab
#bridge
cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf
br_netfilter
EOF
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sudo sysctl --system
#방화벽 해제
systemctl stop firewalld
systemctl disable firewalld
#쿠버네티스 설치
cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-\$basearch
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
exclude=kubelet kubeadm kubectl
EOF
# Set SELinux in permissive mode (effectively disabling it)
sudo setenforce 0
sudo sed -i 's/^SELINUX=enforcing$/SELINUX=permissive/' /etc/selinux/config
sudo yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
sudo systemctl enable --now kubelet
systemctl start kubelet #daemon 실행
systemctl enable kubelet
# control-plain initialize
# 컨트롤 플레인이니 마스터 노드에서만!
kubeadm init
$ kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"
'프로그래밍 > Docker' 카테고리의 다른 글
Docker Run 명령어 (0) | 2023.05.15 |
---|---|
Docker 개요 (0) | 2023.04.18 |
Docker 명령어 (0) | 2023.04.05 |