K8S集群安裝(新手向-ubuntu版本)
修改注:刪除了一些無用的踩坑和說明,優化調整了結構與版面環境部署準備四臺虛擬機,安裝ubuntu18.04版本配置網絡環境以一臺虛擬機為
修改注:刪除了一些無用的踩坑和說明,優化調整了結構與版面
環境部署
準備四臺虛擬機,安裝ubuntu18.04版本
配置網絡環境
以一臺虛擬機為例,其他的等同
首先確定虛擬機的設置正確(一般初始化就是這樣不需要改動)

配置主機的NAT模式具體參數

這里寫圖片描述

記住網關

配置筆記本主機具體VMnet8本地地址參數:

說明:下圖中的IP地址隨意設置,但是要保證不能跟你要設置虛擬機的固定IP一樣。我設置的是:192.168.153.1

修改虛擬機中系統為固定ip的配置文件
虛擬機中啟動命令行
sudo gedit /etc/netplan/01-network-manager-all.yaml
修改后為
# Let NetworkManager manage all devices on this systemnnetwork:n version: 2n renderer: NetworkManagern ethernets:n ens33: #配置的網卡名稱,使用ifconfig -a查看得到n addresses: [192.168.153.101/24] #your ip for this vmn gateway4: 192.168.153.2 #the gateway set beforen nameservers:n addresses: [192.168.153.2]
有個我卡住的很憨很憨的坑,新手注意每個屬性冒號:后要有一個空格。
執行命令
sudo netplan apply
查詢Ip地址后應該可以看到修改后的ip
可以選做,能夠提高運行效率:
ubuntu關閉圖形用戶界面
sudo systemctl set-default multi-user.target sudo reboot
ubuntu啟用圖形用戶界面
sudo systemctl set-default graphical.target sudo reboot
K8S安裝
- 安裝docker
sudo apt-get install docker.io
為了不在每次使用docker時都用root用戶,就改一下它的group,讓平民也可以用。
sudo usermod -aG docker $USER
正式啟用Docker:
sudo systemctl start dockernsudo systemctl enable docker
2. 安裝curl
sudo apt-get updatensudo apt install -y curlnsudo curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add
如果出現This command can only be used by root.的錯誤,就切換到根目錄
su: Authentication failure問題:sudo passwd root
3. 添加安裝源
sudo apt-add-repository "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"n#安裝k8s的重要組件nsudo apt-get install kubeadm kubelet kubectl -y
設置主機名hostname
sudo hostnamectl set-hostname HOSTNAME #(用master,node1,node2替換)
修改host文件
sudo gedit /etc/hosts
127.0.0.1tlocalhostn127.0.1.1tubuntu(改這里,改成master)nn# The following lines are desirable for IPv6 capable hostsn::1 ip6-localhost ip6-loopbacknfe00::0 ip6-localnetnff00::0 ip6-mcastprefixnff02::1 ip6-allnodesnff02::2 ip6-allrouters
sudo swapoff -a
初始化master
sudo kubeadm init --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.19.3 --pod-network-cidr=192.168.153.101/24
把ip換成自己在master設置的靜態ip地址
報以下錯誤就要把虛擬機配置修改一下
[ERROR NumCPU]: the number of available CPUs 1 is less than the required 2

成功后
Your Kubernetes control-plane has initialized successfully!nnTo start using your cluster, you need to run the following as a regular user:nn mkdir -p $HOME/.kuben sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/confign sudo chown $(id -u):$(id -g) $HOME/.kube/confignnYou should now deploy a pod network to the cluster.nRun "kubectl apply -f [podnetwork].yaml" with one of the options listed at:n https://kubernetes.io/docs/concepts/cluster-administration/addons/nnThen you can join any number of worker nodes by running the following on each as root:nnkubeadm join 192.168.153.101:6443 --token 51tl72.gt63iey7eq5xe8y8 n --discovery-token-ca-cert-hash sha256:98a23691705d7a0d02589fdd05c5254ea5fe255e5b5084ff67ef386659bf640b
然后僅在master做下面的操作:
mkdir -p $HOME/.kubensudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/confignsudo chown $(id -u):$(id -g) $HOME/.kube/confignnkubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
接下來僅在每個node上做下面的操作,即復制上個圖片里的最后一行:
sudo kubeadm join 192.168.153.101:6443 --token rqhtn1.1e4cbbc6dg85krye n --discovery-token-ca-cert-hash sha256:e89f384ffda27cbed75a6c1d7975061b5232e472370ec4ce304fc7032b3e0234
成功

遇到的一些坑:
node節點中遇到以下問題時:
- Unfortunately, an error has occurred:
timed out waiting for the condition

下面的方法沒用
swapoff -a # will turn off the swapnkubeadm resetnsystemctl daemon-reloadnsystemctl restart kubeletniptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X # will reset iptables
解決方案:
重新安裝系統。。。注意步驟是否出錯。
最后在master中,查看部署狀態:
kubectl get nodes
多等一會。。。。。很無語,找了半天方法解決notready的問題,結果過了一會自己好了。

2. 出現了以上的錯誤之后,嘗試以下方法//:
重啟。

好了。。。。。。烏雞鲅魚
最后注釋一下重啟系統后應該輸的命令:
sudo -inswapoff -anexitnstrace -eopenat kubectl version
還有就是有個問題。。。虛擬機非???,非常非常卡,這是正常的嗎(衰
上一篇:K8s集群服務器性能配置指南









