這篇文章主要介紹了怎么用Docker部署k8s的相關(guān)知識,內(nèi)容詳細(xì)易懂,操作簡單快捷,具有一定借鑒價值,相信大家閱讀完這篇怎么用Docker部署k8s文章都會有所收獲,下面我們一起來看看吧。
盤龍網(wǎng)站建設(shè)公司成都創(chuàng)新互聯(lián),盤龍網(wǎng)站設(shè)計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為盤龍上千家提供企業(yè)網(wǎng)站建設(shè)服務(wù)。企業(yè)網(wǎng)站搭建\成都外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務(wù)好的盤龍做網(wǎng)站的公司定做!
拓?fù)浣Y(jié)構(gòu)
1master + 2minion
k8s-master 192.168.0.201 master
k8s-node1 192.168.0.202 minion
k8s-node2 192.168.0.203 minion
準(zhǔn)備工作系統(tǒng)
安裝ubuntu 14.04 lts 64bit server版本系統(tǒng),配置好hostname和ip。
在更新國內(nèi)的軟件源的時候,由于gfw的原因,經(jīng)常會出現(xiàn)md5校驗錯誤,建議使用的源。
docker
在minion節(jié)點上安裝docker,版本需要在1.2+,此處安裝的是1.7.1。安裝方法參見docker安裝(ubuntu 64bit) 。
安裝好docker之后,我們最好還配置一個國內(nèi)的registry mirror,加快鏡像拉取速度,參考。
google pause
給每個minion下載google pause鏡像。之后的工作會用到gcr.io/google_containers/pause鏡像,國內(nèi)用戶由于gfw問題總是會出錯,所以我們先從docker.io下載pause鏡像,并設(shè)置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é)點上進(jìn)行如下操作:
$ 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
部署集群
下載
下載部署腳本及二進(jìn)制文件。
首先從k8s的github倉庫中下載部署腳本。
$ git clone https://github.com/kubernetes/kubernetes.git
修改各組件的版本,下載所有組件的二進(jìn)制文件。此處我們使用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權(quán)限下下載,完成之后再使用chown命令將文件權(quán)限設(shè)置為原來的賬戶。
目錄binaries中出現(xiàn)如下結(jié)構(gòu)則表示成功。
配置
打開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所對應(yīng)的ip范圍。
flannel_net表示pod所分配的ip范圍。
部署
進(jìn)到cluster/目錄下進(jìn)行如下操作,
$ export kubernetes_provider=ubuntu $ ./kube-up.sh
接下來腳本就會將二進(jìn)制文件拷貝到相應(yīng)的節(jié)點上,不過在運(yùn)行服務(wù)的時候需要root權(quán)限,所以需要我們?yōu)槊恳粋€節(jié)點輸入一次密碼。
測試
我們可以使用kubectl工具進(jìn)行測試是否安裝成功。
首先我們把kubectl的路徑加入到path中,然后我們就可以直接使用該命令了。
我們啟動一個redis服務(wù)試一試。
進(jìn)入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
然后運(yùn)行如下命令啟動redis。
$ kubectl create -f redis-master-controller.yaml
然后使用kubectl get rc
和 kubectl get pods
查看是否成功。
如果每個pod的狀態(tài)都為running則部署成功。
這里可能會遇到pod狀態(tài)一直處于penning的問題,此時可以通過kubectl describe pods/pod-name
來查看pod信息,如果沒有出錯信息,那么minion一直處于下載鏡像中,下載好之后pod即會成功啟動。
動態(tài)管理cluster
如果集群已經(jīng)部署好,我們希望能夠動態(tài)地添加和刪除minion節(jié)點。
一種方法是,使用kube-down.sh將所有節(jié)點停掉之后,修改config-default.sh文件,將新添加的節(jié)點信息加入進(jìn)去,或者刪掉不用的節(jié)點信息,然后再使用kube-up.sh腳本重新啟動。
關(guān)于“怎么用Docker部署k8s”這篇文章的內(nèi)容就介紹到這里,感謝各位的閱讀!相信大家對“怎么用Docker部署k8s”知識都有一定的了解,大家如果還想學(xué)習(xí)更多知識,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站欄目:怎么用Docker部署k8s
標(biāo)題鏈接:http://jinyejixie.com/article16/ipjcgg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供企業(yè)網(wǎng)站制作、網(wǎng)站策劃、自適應(yīng)網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站收錄、外貿(mào)網(wǎng)站建設(shè)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)