引言
Kubernetes(簡稱K8s)是一個開源的容器編排平台,它為利用順序的安排、擴大年夜跟管理供給了富強的東西跟功能。跟著雲打算跟微效勞架構的遍及,Kubernetes已成為容器編排的行業標準。本文將帶妳從入門到實戰,單方面剖析K8s集群的搭建過程。
一、Kubernetes簡介
Kubernetes來源於Google的集群管理東西Borg,是一個開源的容器編排體系,重要用於主動化安排、擴縮跟管理容器化利用順序。它經由過程供給更高檔次的打算資本抽象跟管理,簡化了利用順序的安排跟運維。
重要功能
- 自我修復:主動重啟掉敗的容器,調換容器,殺逝世不響利用戶定義的安康檢查的容器。
- 效勞發明與負載均衡:為容器供給本人的IP跟一個DNS名,並供給負載均衡功能。
- 存儲卷:供給長久化存儲卷,以便容器可能拜訪長久數據。
核心組件
- Master節點:把持平面,包含ApiServer、Scheduler、ControllerManager跟Etcd。
- Node節點:任務節點,包含kubelet、Container runtime(如Docker)跟kube-proxy。
二、情況籌備
在物理機上安排Kubernetes集群前,須要停止一系列的情況籌備任務。
硬體請求
- CPU:至少2核CPU。
- 內存:至少2GB內存。
- 硬碟:至少50GB硬碟。
操縱體系
倡議利用CentOS 7或Ubuntu 18.04/20.04等主流Linux發行版。
網路設置
確保全部節點可能相互通信,倡議利用靜態IP地點。
封閉防火牆跟SELinux
# 封閉防火牆
systemctl stop firewalld
systemctl disable firewalld
# 封閉SELinux
setenforce 0
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
三、Kubernetes集群搭建
1. 安裝Docker
# 安裝Docker
yum install -y yum-utils
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
# 啟動Docker效勞
systemctl start docker
systemctl enable docker
2. 安裝kubeadm、kubelet跟kubectl
# 安裝kubeadm、kubelet跟kubectl
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
yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
# 啟動kubelet效勞
systemctl start kubelet
systemctl enable kubelet
3. 初始化Master節點
# 初始化Master節點
kubeadm init --pod-network-cidr=10.244.0.0/16
4. 增加Worker節點
# 在Worker節點上履行以下命令
kubeadm join <Master節點IP>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>
5. 安排網路插件
# 安排Flannel網路插件
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
四、總結
經由過程以上步調,妳曾經成功搭建了一個Kubernetes集群。接上去,妳可能開端安排跟管理容器化利用順序了。在現實利用中,妳可能須要根據營業須要對集群停止擴大年夜跟優化。盼望本文能幫助妳輕鬆控制K8s集群搭建。