Kubernetes是Google開源的一個容器編排引擎,它支持自動化部署、大規模可伸縮、應用容器化管理。在生產環境中部署一個應用程序時,一般要部署該應用的多個實例以便對應用請求進行負載均衡。node
Kubernetes安裝在Ubuntu、CentOS這兩個環境上較爲穩定,本次安裝將以Ubuntu環境爲例(CentOS環境也相似),準備兩臺Ubuntu虛擬機或雲服務器,版本爲16.04便可。
linux
1)更新包索引:git
apt-get updategithub
2)下載docker官方源的公鑰並添加到apt的公鑰庫中:docker
curl-fsSL download.docker.com/linux/ubunt… | apt-key add -ubuntu
3)添加docker官方源的倉庫:後端
add-apt-repository "deb [arch=amd64] download.docker.com/linux/ubunt… $(lsb_release -cs) stable"api
4)執行完以上命令以後,在/etc/apt/sources.list文件中將添加以下內容緩存
5)再次更新包索引:服務器
apt-get update
1)執行:
apt-get install docker-ce=17.03.2~ce-0~ubuntu-xenial,安裝Docker;
2)驗證Docker安裝結果:
dockerversion
3)查看docker後臺服務運行的狀況:
systemctl status docker
1) kubeadm:做爲安裝工具來引導啓動集羣,kubeadm將kubernetes核心組件以容器化的方式安裝和引導啓動運行;
2) kubelet:Node組件中的
kubelet依舊以主機後端服務的形式運行kubernetes集羣的全部節點上,是主節點與從節點交互的關鍵組件;3) kubectl:是安裝集羣后的命令行工具,至少安裝在master上,對集羣進行管理。
1)添加kubernetes apt源的公鑰文件:
curl-s packages.cloud.google.com/apt/doc/apt… | apt-key add -
2)將官方源列表加入到本地源列表配置目錄中:
vi /etc/apt/sources.list.d/kubernetes.list,在該文件中加入以下內容:
3)更新本地包緩存:apt-get update
1) apt-get update && apt-get install -y apt-transport-https
2) curl mirrors.aliyun.com/kubernetes/… | apt-key add -
3) vi /etc/apt/sources.list.d/kubernetes.list,在該文件中加入:deb mirrors.aliyun.com/kubernetes/… kubernetes-xenial main
4)更新本地包緩存:
apt-get update
1) apt-get install -y kubelet kubeadm kubectl
2) apt-get install kubeadm=1.10.2-00 kubectl=1.10.2-00 kubelet=1.10.2-00
3)
1)先從國內源(能夠從dockerhub上查找)將以上核心組件下載到本地,例如:docker pull gcrxio/kube-apiserver-amd64:v1.14.1
2)從新打標籤,例如:docker tag gcrxio/kube-apiserver-amd64:v1.14.1 k8s.gcr.io/kube-apiserver-amd64:v1.14.1
3)在Worker節點只須要下載pause和kube-proxy鏡像便可。
1)執行kubeadm init命令初始化:kubeadm init --apiserver-advertise-address=172.16.154.177 --pod-network-cidr=192.168.16.0/20,
以下圖:
2)設置kubectl訪問控制平面,設置環境變量:export
KUBECONFIG=/etc/kubernetes/admin.conf
3)查看安裝狀況:kubectl get pods -n kube-system
Kubernetes的網絡插件不少,這裏以安裝Weave爲例:
1)安裝Weave Net
kubectl apply -f cloud.weave.works/k8s/net?k8s…
2)建立weave.yaml文件,以下:
3)執行命令進行安裝:Kubectl apply -f weave.yaml
4)驗證安裝結果:kubectl get pods -n kube-system
1)按照前面的步驟,在worker節點上(好比是k8s2)安裝docker環境
2)按照前面的步驟,在k8s2節點上安裝kubeadm、kubelet
3)按照前面的步驟,在k8s2節點上下載pause和kube-proxy鏡像
1)在k8s2節點上執行kubeadm join命令:kubeadm join
172.16.154.178:6443 --token ab7j9d.rxopqtvyv7qf6488 --discovery-token-ca-cert-hash
sha256:c0d784704724ea4be3b7bb31a61404aa05a591b596405699e7c36fe3a500bec9
1) docker pull gcrxio/kubernetes-dashboard-amd64:v1.10.1
2) docker tag gcrxio/kubernetes-dashboard-amd64:v1.10.1
k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1
1)下載dashboard配置文件,執行以下命令:
2)修改dashboard配置文件kubernetes-dashboard.yaml,並在此文件中的Service部分下添加
3)建立Pod,執行命令:
kubectl create -f {path}/kubernetes-dashboard.yaml
1)訪問地址:https://47.97.249.8:31233
本人創業團隊產品MadPecker,主要作BUG管理、測試管理、應用分發,網址:www.madpecker.com,有須要的朋友歡迎試用、體驗!
本文爲MadPecker團隊技術人員編寫,轉載請標明出處