怎么用Docker部署k8s

這篇文章主要介紹了怎么用Docker部署k8s的相關知識,內容詳細易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么用Docker部署k8s文章都會有所收獲,下面我們一起來看看吧。

盤龍網(wǎng)站建設公司成都創(chuàng)新互聯(lián),盤龍網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經驗。已為盤龍上千家提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\成都外貿網(wǎng)站制作要多少錢,請找那個售后服務好的盤龍做網(wǎng)站的公司定做!

拓撲結構

  1. 1master + 2minion

  2. k8s-master 192.168.0.201 master

  3. k8s-node1 192.168.0.202 minion

  4. k8s-node2 192.168.0.203 minion

準備工作系統(tǒng)

安裝ubuntu 14.04 lts 64bit server版本系統(tǒng),配置好hostname和ip。
在更新國內的軟件源的時候,由于gfw的原因,經常會出現(xiàn)md5校驗錯誤,建議使用的源。

docker

在minion節(jié)點上安裝docker,版本需要在1.2+,此處安裝的是1.7.1。安裝方法參見docker安裝(ubuntu 64bit) 。
安裝好docker之后,我們最好還配置一個國內的registry mirror,加快鏡像拉取速度,參考。

google pause

給每個minion下載google pause鏡像。之后的工作會用到gcr.io/google_containers/pause鏡像,國內用戶由于gfw問題總是會出錯,所以我們先從docker.io下載pause鏡像,并設置tag。

# docker pull docker.io/kubernetes/pause
# docker tag kubernetes/pause gcr.io/google_containers/pause:0.8.0
# docker tag gcr.io/google_containers/pause:0.8.0 gcr.io/google_containers/pause

ssh

需要所有minion節(jié)點都能從master節(jié)點直接登錄,不用密碼。

在master節(jié)點上進行如下操作:

$ ssh-keygen
$ ssh-copy-id user@192.168.0.201
$ ssh-copy-id user@192.168.0.202
$ ssh-copy-id user@192.168.0.203

部署集群

下載

下載部署腳本及二進制文件。

首先從k8s的github倉庫中下載部署腳本。

$ git clone https://github.com/kubernetes/kubernetes.git

修改各組件的版本,下載所有組件的二進制文件。此處我們使用etcd 2.2.0,flannel 0.5.0,k8s 1.0.6。

$ cd kubernetes/cluster/ubuntu
$ vim build.sh #修改版本號
 # version setting
 flannel_version="0.5.0"
 etcd_version="2.2.0"
 kube_version="1.0.6"
$ ./build.sh

有時候使用非root賬戶下載會出現(xiàn)錯誤,此時我們可以切換到root權限下下載,完成之后再使用chown命令將文件權限設置為原來的賬戶。

目錄binaries中出現(xiàn)如下結構則表示成功。

怎么用Docker部署k8s

配置

打開cluster/ubuntu/config-default.sh文件,修改如下字段:

export nodes=${nodes:-"wangtao@192.168.0.201 wangtao@192.168.0.202 wangtao@192.168.0.203"}

export role=${role:-"a i i"}

export num_minions=${num_minions:-2}

export service_cluster_ip_range=${service_cluster_ip_range:-10.0.1.0/24}

export flannel_net=${flannel_net:-172.16.0.0/16}

如果需要master節(jié)點也作為minion節(jié)點的話,只需將role中的a改為ai即可,num_minions表示minion節(jié)點的個數(shù)。

service_cluster_ip_range表示集群中service所對應的ip范圍。
flannel_net表示pod所分配的ip范圍。

部署

進到cluster/目錄下進行如下操作,

$ export kubernetes_provider=ubuntu
$ ./kube-up.sh

接下來腳本就會將二進制文件拷貝到相應的節(jié)點上,不過在運行服務的時候需要root權限,所以需要我們?yōu)槊恳粋€節(jié)點輸入一次密碼。

測試

我們可以使用kubectl工具進行測試是否安裝成功。

首先我們把kubectl的路徑加入到path中,然后我們就可以直接使用該命令了。

怎么用Docker部署k8s

我們啟動一個redis服務試一試。

進入examples/guestbook目錄,修改redis-master-controller.yaml文件如下:

apiversion: v1
kind: replicationcontroller
metadata:
 name: redis-master
 labels:
 name: redis-master
spec:
 replicas: 2
 selector:
 name: redis-master
 template:
 metadata:
  labels:
  name: redis-master
 spec:
  containers:
  - name: master
  image: redis
  ports:
  - containerport: 6379

然后運行如下命令啟動redis。

$ kubectl create -f redis-master-controller.yaml

然后使用kubectl get rc 和 kubectl get pods 查看是否成功。

怎么用Docker部署k8s

如果每個pod的狀態(tài)都為running則部署成功。

這里可能會遇到pod狀態(tài)一直處于penning的問題,此時可以通過kubectl describe pods/pod-name來查看pod信息,如果沒有出錯信息,那么minion一直處于下載鏡像中,下載好之后pod即會成功啟動。

動態(tài)管理cluster

如果集群已經部署好,我們希望能夠動態(tài)地添加和刪除minion節(jié)點。

一種方法是,使用kube-down.sh將所有節(jié)點停掉之后,修改config-default.sh文件,將新添加的節(jié)點信息加入進去,或者刪掉不用的節(jié)點信息,然后再使用kube-up.sh腳本重新啟動。

關于“怎么用Docker部署k8s”這篇文章的內容就介紹到這里,感謝各位的閱讀!相信大家對“怎么用Docker部署k8s”知識都有一定的了解,大家如果還想學習更多知識,歡迎關注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站欄目:怎么用Docker部署k8s
標題鏈接:http://muchs.cn/article16/ipjcgg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站策劃、自適應網(wǎng)站、網(wǎng)站導航網(wǎng)站收錄、外貿網(wǎng)站建設

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)