国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > Web服務器 > 正文

Docker學習筆記之k8s部署方法

2024-09-01 13:54:31
字體:
來源:轉載
供稿:網友

本文記錄了如何在ubuntu 14.04裸機上部署k8s集群,參考自官方文檔。

拓撲結構

  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

準備工作系統

安裝Ubuntu 14.04 LTS 64bit server版本系統,配置好hostname和ip。
在更新國內的軟件源的時候,由于GFW的原因,經常會出現md5校驗錯誤,建議使用阿里云的源。

Docker

在minion節點上安裝Docker,版本需要在1.2+,此處安裝的是1.7.1。安裝方法參見Docker安裝(Ubuntu 64bit) 。
安裝好Docker之后,我們最好還配置一個國內的registry mirror,加快鏡像拉取速度,參考配置國內免費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節點都能從master節點直接登錄,不用密碼。

在master節點上進行如下操作:

$ 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賬戶下載會出現錯誤,此時我們可以切換到root權限下下載,完成之后再使用chown命令將文件權限設置為原來的賬戶。

目錄binaries中出現如下結構則表示成功。

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節點也作為minion節點的話,只需將role中的a改為ai即可,NUM_MINIONS表示minion節點的個數。

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

部署

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

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

接下來腳本就會將二進制文件拷貝到相應的節點上,不過在運行服務的時候需要root權限,所以需要我們為每一個節點輸入一次密碼。

測試

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

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

Docker,k8s,部署

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

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

apiVersion: v1kind: ReplicationControllermetadata: name: redis-master labels: name: redis-masterspec: 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 rckubectl get pods 查看是否成功。

Docker,k8s,部署

如果每個pod的狀態都為Running則部署成功。

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

動態管理Cluster

如果集群已經部署好,我們希望能夠動態地添加和刪除Minion節點。

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

當然我們希望能夠在不關掉已有節點的情況下動態添加新的Minion節點,但是目前我還沒找到方法。等以后研究出來了再更新。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。


注:相關教程知識閱讀請移步到服務器教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 冕宁县| 葵青区| 博白县| 景谷| 沈丘县| 读书| 肇源县| 阳新县| 荔浦县| 鄂州市| 石首市| 明星| 东丰县| 温宿县| 湘阴县| 饶河县| 阿尔山市| 渭源县| 砀山县| 赤城县| 彭州市| 大庆市| 廊坊市| 龙海市| 常宁市| 琼海市| 班戈县| 岗巴县| 化德县| 天气| 凤凰县| 景谷| 长乐市| 新绛县| 平南县| 梓潼县| 广安市| 定陶县| 永丰县| 齐齐哈尔市| 监利县|