一、kubeadm方式安裝
第一、建立一個 Master 節點 kubeadm init
第二, 将 Node 節點加入到目前叢集中 $ kubeadm join <Master 節點的 IP 和端口
- 安裝要求
-
- 硬體配置:2GB 或更多 RAM,2 個 CPU 或更多 CPU,硬碟 30GB 或更多
- 叢集中所有機器之間網絡互通
- 可以通路外網,需要拉取鏡像
- 禁止 swap 分區
- 安裝前環境配置
-
- 關閉防火牆
-
-
- systemctl stop firewalld
- systemctl disable firewalld
-
-
- 關閉 selinux
-
-
- sed -i 's/enforcing/disabled/' /etc/selinux/config # 永久
- setenforce 0 # 臨時
-
-
- 關閉 swap
-
-
- swapoff -a # 臨時
- vim /etc/fstab # 永久
-
-
- 将橋接的 IPv4 流量傳遞到 iptables
-
-
- vi /etc/sysctl.d/k8s.conf
-
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
-
-
- sysctl --system
-
-
- 修改主機名
-
-
- hostnamectl set-hostname <hostname>
-
-
- 修改hosts
- 時鐘同步
-
-
- yum install ntpdate -y
- ntpdate time.windows.com
-
-
- 所有節點安裝 Docker/kubeadm/kubelet
-
-
- 安裝 Docker
- wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
- yum -y install docker-ce-18.06.1.ce-3.el7
- systemctl enable docker && systemctl start docker
- docker --version
-
-
-
- 添加阿裡雲 YUM 軟體源
-
-
-
-
- 設定倉庫位址
-
-
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
-
-
-
- 添加 yum 源
-
-
vi /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg
https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
-
-
-
- 安裝 kubeadm,kubelet 和 kubectl
-
-
yum install -y kubelet kubeadm kubectl
systemctl enable kubelet
-
-
- 部署 Kubernetes Master
-
-
-
-
- 在Master上執行
-
-
kubeadm init \
--apiserver-advertise-address=192.168.31.61 \
--image-repository registry.aliyuncs.com/google_containers \
--kubernetes-version v1.17.0 \
--service-cidr=10.96.0.0/12 \
--pod-network-cidr=10.244.0.0/16
由于預設拉取鏡像位址 k8s.gcr.io 國内無法通路,這裡指定阿裡雲鏡像倉庫位址
報錯資訊:提示kubelet版本要高于control版本,版本不比對導緻報錯
檢視kubelet版本
-
-
-
-
- kubelet --version
-
-
-
kubeadm版本也要一緻
-
-
-
-
- kubeadm version
-
-
-
把初始化參數改為1.20.4,重新初始化
--kubernetes-version v1.20.4 \
安裝時警告問題 WARNING IsDockerSystemdCheck
https://blog.whsir.com/post-5312.html
-
-
- 初始化完成後按照提示執行
-
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
-
-
-
- master安裝 Pod 網絡插件
-
-
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
-
-
- 加入 Kubernetes Node
-
kubeadm join 192.168.31.61:6443 --token esce21.q6hetwm8si29qxwn \
--discovery-token-ca-cert-hash
sha256:00603a05805807501d7181c3d60b478788408cfe6cedefedb1f97569708be9c5
-
-
- 檢視nodes狀态
-
kubectl get nodes
-
-
- 每個節點都需要下載下傳這三個鏡像 flannel pause kube-proxy
-
-
-
- 在n2上執行docker images,檢視鏡像還未下載下傳完成,等待鏡像下載下傳完,再次檢視nodes狀态
- 使用nginx來測試
-
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get pod,svc
通路192.168.119.11:31745