【目錄】
(1)k8s快速介紹
(2)硬件虛擬機環境Ubuntu18.10-server安裝
(3)Docker-CE安裝及配置
(4)Kubernetes 安裝及部署
(5)創建企業Kubernetes多主機集群環境
(6)Kubernetes集群mysql應用實例
(7)Kubernetes集群tomcat應用集群實例
(8)Kubernetes集群beego新聞發布web系統集群實例
【資源下載】
完整教程markdown下載 提取碼: 92hy
kubernetes(k8s)2小時快速部署教程視頻 提取碼:dk4i
kubernetes-Master-Node虛擬機完整鏡像文件 提取碼: 2wf8
課程相關其他相關安裝包及鏡像 提取碼: nkfj
四、Kubernetes 安裝及部署
4.1 k8s安裝環境準備
4.1.1 配置并安裝k8s國內源
創建配置文件
sudo touch /etc/apt/sources.list.d/kubernetes.list
-
添加寫權限
itcast@master:~$ sudo chmod 666 /etc/apt/sources.list.d/kubernetes.list
再添加,內容如下:
deb http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial main
- 執行
sudo apt update
更新操作系統源,開始會遇見如下錯誤
tcast@master:~$ sudo apt update
Get:1 http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial InRelease [8,993 B]
Err:1 http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial InRelease
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A030B21BA07F4FB
Hit:2 http://mirrors.aliyun.com/ubuntu cosmic InRelease
Hit:3 http://mirrors.aliyun.com/ubuntu cosmic-updates InRelease
Hit:4 http://mirrors.aliyun.com/ubuntu cosmic-backports InRelease
Hit:5 http://mirrors.aliyun.com/ubuntu cosmic-security InRelease
Err:6 https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu cosmic InRelease
Could not wait for server fd - select (11: Resource temporarily unavailable) [IP: 202.141.176.110 443]
Reading package lists... Done
W: GPG error: http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A030B21BA07F4FB
E: The repository 'http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
其中:
The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 6A030B21BA07F4FB
簽名認證失敗,需要重新生成。記住上面的NO_PUBKEY 6A030B21BA07F4FB
-
添加認證key
運行如下命令,添加錯誤中對應的key(錯誤中NO_PUBKEY后面的key的后8位)
gpg --keyserver keyserver.ubuntu.com --recv-keys BA07F4FB
接著運行如下命令,確認看到OK,說明成功,之后進行安裝:
gpg --export --armor BA07F4FB | sudo apt-key add -
再次重新
sudo apt update
更新系統下載源數據列表
itcast@master:~$ sudo apt update
Hit:1 https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu cosmic InRelease
Hit:2 http://mirrors.aliyun.com/ubuntu cosmic InRelease
Hit:3 http://mirrors.aliyun.com/ubuntu cosmic-updates InRelease
Hit:4 http://mirrors.aliyun.com/ubuntu cosmic-backports InRelease
Hit:5 http://mirrors.aliyun.com/ubuntu cosmic-security InRelease
Get:6 http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial InRelease [8,993 B]
Ign:7 http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial/main amd64 Packages
Get:7 http://mirrors.ustc.edu.cn/kubernetes/apt kubernetes-xenial/main amd64 Packages [26.6 kB]
Fetched 26.6 kB in 42s (635 B/s)
Reading package lists... Done
Building dependency tree
Reading state information... Done
165 packages can be upgraded. Run 'apt list --upgradable' to see them.
以上沒有報和錯誤異常,表示成功。
4.1.2 禁止基礎設施
-
禁止防火墻
$ sudo ufw disable Firewall stopped and disabled on system startup
-
關閉swap
# 成功 $ sudo swapoff -a # 永久關閉swap分區 $ sudo sed -i 's/.*swap.*/#&/' /etc/fstab
禁止selinux
# 安裝操控selinux的命令
$ sudo apt install -y selinux-utils
# 禁止selinux
$ setenforce 0
# 重啟操作系統
$ shutdown -r now
# 查看selinux是否已經關閉
$ sudo getenforce
Disabled(表示已經關閉)
4.2 k8s系統網絡配置
(1) 配置內核參數,將橋接的IPv4流量傳遞到iptables的鏈
創建/etc/sysctl.d/k8s.conf
文件
添加內容如下:
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
vm.swappiness = 0
(2) 執行命令使修改生效
# 【候選】建議執行下面的命令
$ sudo modprobe br_netfilter
$ sudo sysctl -p /etc/sysctl.d/k8s.conf
4.3 安裝k8s
注意: 切換到root用戶
$ su
-
安裝Kubernetes 目前安裝版本
v1.13.1
$ apt update && apt-get install -y kubelet=1.13.1-00 kubernetes-cni=0.6.0-00 kubeadm=1.13.1-00 kubectl=1.13.1-00
-
設置為開機重啟
$ sudo systemctl enable kubelet && systemctl start kubelet $ sudo shutdown -r now
4.4 驗證k8s
使用root用戶登錄
Master
主機-
執行如下個命令
kubectl get nodes
輸出如下
$ kubectl get nodes
The connection to the server localhost:8080 was refused - did you specify the right host or port?
-
查看當前k8s版本
$ kubectl version
Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.1", GitCommit:"eec55b9ba98609a46fee712359c7b5b365bdd920", GitTreeState:"clean", BuildDate:"2018-12-13T10:39:04Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}
The connection to the server localhost:8080 was refused - did you specify the right host or port?
關于作者:
作者:Aceld(劉丹冰)
簡書號:IT無崖子
mail: danbing.at@gmail.com
github: https://github.com/aceld
原創書籍gitbook: http://legacy.gitbook.com/@aceld
原創聲明:未經作者允許請勿轉載, 如果轉載請注明出處