日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

CentOS 7实战Kubernetes部署

發(fā)布時(shí)間:2025/7/25 编程问答 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CentOS 7实战Kubernetes部署 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

作者 楊章顯發(fā)布于 2014年12月3日

1. 前言

上一節(jié)我們闡述了Kubernetes的系統(tǒng)架構(gòu),讓大家對(duì)Kubernetes有一定的初步了解,但是就如何使用Kubernetes, 也許大家還不知如何下手。本文作者將帶領(lǐng)大家如何在本地部署、配置Kubernetes集群網(wǎng)絡(luò)環(huán)境以及通過(guò)實(shí)例演示跨機(jī)器服務(wù)間的通信,主要包括如下內(nèi)容:

  • 部署環(huán)境介紹
  • Kubernetes集群邏輯架構(gòu)
  • 部署Open vSwitch、Kubernetes、Etcd組件
  • 演示Kubernetes管理容器

2. 部署環(huán)境

  • VMware Workstation:10.0.3
  • VMware Workstation網(wǎng)絡(luò)模式:NAT
  • 操作系統(tǒng)信息:CentOS 7 64位
  • Open vSwitch版本信息:2.3.0
  • Kubernetes版本信息:0.5.2
  • Etcd版本信息:0.4.6
  • Docker版本信息:1.3.1
  • 服務(wù)器信息:

    | Role | Hostname | IP Address ||:---------:|:----------:|:----------: ||APIServer |kubernetes |192.168.230.3||Minion | minion1 |192.168.230.4||Minion | minion2 |192.168.230.5|

3. Kubernetes集群邏輯架構(gòu)

在詳細(xì)介紹部署Kubernetes集群前,先給大家展示下集群的邏輯架構(gòu)。從下圖可知,整個(gè)系統(tǒng)分為兩部分,第一部分是Kubernetes APIServer,是整個(gè)系統(tǒng)的核心,承擔(dān)集群中所有容器的管理工作;第二部分是minion,運(yùn)行Container Daemon,是所有容器棲息之地,同時(shí)在minion上運(yùn)行Open vSwitch程序,通過(guò)GRE Tunnel負(fù)責(zé)minion之間Pod的網(wǎng)絡(luò)通信工作。

4. 部署Open vSwitch、Kubernetes、Etcd組件

4.1 安裝Open vSwitch及配置GRE

為了解決跨minion之間Pod的通信問(wèn)題,我們?cè)诿總€(gè)minion上安裝Open vSwtich,并使用GRE或者VxLAN使得跨機(jī)器之間Pod能相互通信,本文使用GRE,而VxLAN通常用在需要隔離的大規(guī)模網(wǎng)絡(luò)中。對(duì)于Open vSwitch的具體安裝步驟,可參考這篇博客,我們?cè)谶@里就不再詳細(xì)介紹安裝步驟了。安裝完Open vSwitch后,接下來(lái)便建立minion1和minion2之間的隧道。首先在minion1和minion2上建立OVS Bridge,

相關(guān)廠商內(nèi)容

智能化運(yùn)維技術(shù)詳解

注冊(cè)華為開(kāi)發(fā)者大賽,送開(kāi)發(fā)者禮包!

機(jī)器學(xué)習(xí)模型訓(xùn)練的Kubernetes實(shí)踐

京東物流系統(tǒng)自動(dòng)化運(yùn)維平臺(tái)技術(shù)揭密

基于資產(chǎn)配置業(yè)務(wù)場(chǎng)景下的全鏈路監(jiān)控平臺(tái)

相關(guān)贊助商

CNUTCon全球運(yùn)維技術(shù)大會(huì),9月10日-9月11日,上海·光大會(huì)展中心大酒店,精彩內(nèi)容搶先看

[root@minion1 ~]# ovs-vsctl add-br obr0

接下來(lái)建立gre,并將新建的gre0添加到obr0,在minion1上執(zhí)行如下命令,

[root@minion1 ~]# ovs-vsctl add-port obr0 gre0 -- set Interface gre0 type=gre options:remote_ip=192.168.230.5

在minion2上執(zhí)行,

[root@minion2 ~]# ovs-vsctl add-port obr0 gre0 -- set Interface gre0 type=gre options:remote_ip=192.168.230.4

至此,minion1和minion2之間的隧道已經(jīng)建立。然后我們?cè)趍inion1和minion2上創(chuàng)建Linux網(wǎng)橋kbr0替代Docker默認(rèn)的docker0(我們假設(shè)minion1和minion2都已安裝Docker),設(shè)置minion1的kbr0的地址為172.17.1.1/24, minion2的kbr0的地址為172.17.2.1/24,并添加obr0為kbr0的接口,以下命令在minion1和minion2上執(zhí)行。

[root@minion1 ~]# brctl addbr kbr0 //創(chuàng)建linux bridge [root@minion1 ~]# brctl addif kbr0 obr0 //添加obr0為kbr0的接口 [root@minion1 ~]# ip link set dev docker0 down //設(shè)置docker0為down狀態(tài) [root@minion1 ~]# ip link del dev docker0 //刪除docker0

為了使新建的kbr0在每次系統(tǒng)重啟后任然有效,我們?cè)?etc/sysconfig/network-scripts/目錄下新建minion1的ifcfg-kbr0如下:

DEVICE=kbr0 ONBOOT=yes BOOTPROTO=static IPADDR=172.17.1.1 NETMASK=255.255.255.0 GATEWAY=172.17.1.0 USERCTL=no TYPE=Bridge IPV6INIT=no

同樣在minion2上新建ifcfg-kbr0,只需修改ipaddr為172.17.2.1和gateway為172.17.2.0即可,然后執(zhí)行systemctl restart network重啟系統(tǒng)網(wǎng)絡(luò)服務(wù),你能在minion1和minion2上發(fā)現(xiàn)kbr0都設(shè)置了相應(yīng)的IP地址。為了驗(yàn)證我們創(chuàng)建的隧道是否能通信,我們?cè)趍inion1和minion2上相互ping對(duì)方kbr0的IP地址,從下面的結(jié)果發(fā)現(xiàn)是不通的,經(jīng)查找這是因?yàn)樵趍inion1和minion2上缺少訪問(wèn)172.17.1.1和172.17.2.1的路由,因此我們需要添加路由保證彼此之間能通信。

[root@minion1 network-scripts]# ping 172.17.2.1 PING 172.17.2.1 (172.17.2.1) 56(84) bytes of data. ^C --- 172.17.2.1 ping statistics --- 2 packets transmitted, 0 received, 100% packet loss, time 1000ms[root@minion2 ~]# ping 172.17.1.1 PING 172.17.1.1 (172.17.1.1) 56(84) bytes of data. ^C --- 172.17.1.1 ping statistics --- 2 packets transmitted, 0 received, 100% packet loss, time 1000ms

由于通過(guò)ip route add添加的路由會(huì)在下次系統(tǒng)重啟后失效,為此我們?cè)?etc/sysconfig/network-scripts目錄下新建一個(gè)文件route-eth0存儲(chǔ)路由,這里需要注意的是route-eth0和ifcfg-eth0的黑體部分必須保持一致,否則不能工作,這樣添加的路由在下次重啟后不會(huì)失效。為了保證兩臺(tái)minion的kbr0能相互通信,我們?cè)趍inion1的route-eth0里添加路由172.17.2.0/24 via 192.168.230.5 dev eno16777736,eno16777736是minion1的網(wǎng)卡,同樣在minion2的route-eth0里添加路由172.17.1.0/24 via 192.168.230.4 dev eno16777736。重啟網(wǎng)絡(luò)服務(wù)后再次驗(yàn)證,彼此kbr0的地址可以ping通,如:

[root@minion2 network-scripts]# ping 172.17.1.1 PING 172.17.1.1 (172.17.1.1) 56(84) bytes of data. 64 bytes from 172.17.1.1: icmp_seq=1 ttl=64 time=2.49 ms 64 bytes from 172.17.1.1: icmp_seq=2 ttl=64 time=0.512 ms ^C --- 172.17.1.1 ping statistics --- 2 packets transmitted, 2 received, 0% packet loss, time 1002ms rtt min/avg/max/mdev = 0.512/1.505/2.498/0.993 ms

到現(xiàn)在我們已經(jīng)建立了兩minion之間的隧道,而且能正確的工作。下面我們將介紹如何安裝Kubernetes APIServer及kubelet、proxy等服務(wù)。

4.2 安裝Kubernetes APIServer

在安裝APIServer之前,我們先下載Kubernetes及Etcd,做一些準(zhǔn)備工作。在kubernetes上的具體操作如下:

[root@kubernetes ~]# mkdir /tmp/kubernetes [root@kubernetes ~]# cd /tmp/kubernetes/ [root@kubernetes kubernetes]# wget https://github.com/GoogleCloudPlatform/kubernetes/releases/download/v0.5.2/kubernetes.tar.gz [root@kubernetes kubernetes]# wget https://github.com/coreos/etcd/releases/download/v0.4.6/etcd-v0.4.6-linux-amd64.tar.gz

然后解壓下載的kubernetes和etcd包,并在kubernetes、minion1、minion2上創(chuàng)建目錄/opt/kubernetes/bin,

[root@kubernetes kubernetes]# mkdir -p /opt/kubernetes/bin [root@kubernetes kubernetes]# tar xf kubernetes.tar.gz [root@kubernetes kubernetes]# tar xf etcd-v0.4.6-linux-amd64.tar.gz [root@kubernetes kubernetes]# cd ~/kubernetes/server [root@kubernetes server]# tar xf kubernetes-server-linux-amd64.tar.gz [root@kubernetes kubernetes]# /tmp/kubernetes/kubernetes/server/kubernetes/server/bin

復(fù)制kube-apiserver,kube-controller-manager,kube-scheduler,kubecfg到kubernetes的/opt/kubernetes/bin目錄下,而kubelet,kube-proxy則復(fù)制到minion1和minion2的/opt/kubernetes/bin,并確保都是可執(zhí)行的。

[root@kubernetes amd64]# cp kube-apiserver kube-controller-manager kubecfg kube-scheduler /opt/kubernetes/bin [root@kubernetes amd64]# scp kube-proxy kubelet root@192.168.230.4:/opt/kubernetes/bin [root@kubernetes amd64]# scp kube-proxy kubelet root@192.168.230.5:/opt/kubernetes/bin

為了簡(jiǎn)單我們只部署一臺(tái)etcd服務(wù)器,如果需要部署etcd的集群,請(qǐng)參考官方文檔,在本文中將其跟Kubernetes APIServer部署同一臺(tái)機(jī)器上,而且將etcd放置在/opt/kubernetes/bin下,etcdctl跟ectd同一目錄。

[root@kubernetes kubernetes]# cd /tmp/kubernetes/etcd-v0.4.6-linux-amd64 [root@kubernetes etcd-v0.4.6-linux-amd64]# cp etcd etcdctl /opt/kubernetes/bin

需注意的是kubernetes和minion上/opt/kubernetes/bin目錄下的文件都必須是可執(zhí)行的。到目前,我們準(zhǔn)備工作已經(jīng)差不多,現(xiàn)在開(kāi)始給apiserver,controller-manager,scheduler,etcd配置unit文件。首先我們用如下腳本etcd.sh配置etcd的unit文件,

#!/bin/shETCD_PEER_ADDR=192.168.230.3:7001 ETCD_ADDR=192.168.230.3:4001 ETCD_DATA_DIR=/var/lib/etcd ETCD_NAME=kubernetes! test -d $ETCD_DATA_DIR && mkdir -p $ETCD_DATA_DIR cat <<EOF >/usr/lib/systemd/system/etcd.service [Unit] Description=Etcd Server[Service] ExecStart=/opt/kubernetes/bin/etcd \\-peer-addr=$ETCD_PEER_ADDR \\-addr=$ETCD_ADDR \\-data-dir=$ETCD_DATA_DIR \\-name=$ETCD_NAME \\-bind-addr=0.0.0.0[Install] WantedBy=multi-user.target EOFsystemctl daemon-reload systemctl enable etcd systemctl start etcd

對(duì)剩下的apiserver,controller-manager,scheduler的unit文件配置的腳本,可以在github 上GetStartingKubernetes找到,在此就不一一列舉。運(yùn)行相應(yīng)的腳本后,在APIServer上etcd, apiserver, controller-manager, scheduler服務(wù)就能正常運(yùn)行。

4.3 安裝Kubernetes Kubelet及Proxy

根據(jù)Kubernetes的設(shè)計(jì)架構(gòu),需要在minion上部署docker, kubelet, kube-proxy,在4.2節(jié)部署APIServer時(shí),我們已經(jīng)將kubelet和kube-proxy已經(jīng)分發(fā)到兩minion上,所以只需配置docker,kubelet,proxy的unit文件,然后啟動(dòng)服務(wù)就即可,具體配置見(jiàn)GetStartingKubernetes。

5. 演示Kubernetes管理容器

為了方便,我們使用Kubernetes提供的例子Guestbook來(lái)演示Kubernetes管理跨機(jī)器運(yùn)行的容器,下面我們根據(jù)Guestbook的步驟創(chuàng)建容器及服務(wù)。在下面的過(guò)程中如果是第一次操作,可能會(huì)有一定的等待時(shí)間,狀態(tài)處于pending,這是因?yàn)榈谝淮蜗螺dimages需要一段時(shí)間。

5.1 創(chuàng)建redis-master Pod和redis-master服務(wù)

[root@kubernetes ~]# cd /tmp/kubernetes/kubernetes/examples/guestbook [root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 -c redis-master.json create pods [root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 -c redis-master-service.json create services

完成上面的操作后,我們可以看到如下redis-master Pod被調(diào)度到192.168.230.4。

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list pods Name Image(s) Host Labels Status ---------- ---------- ---------- ---------- ---------- redis-master dockerfile/redis 192.168.230.4/ name=redis-master Running

但除了發(fā)現(xiàn)redis-master的服務(wù)之外,還有兩個(gè)Kubernetes系統(tǒng)默認(rèn)的服務(wù)kubernetes-ro和kubernetes。而且我們可以看到每個(gè)服務(wù)都有一個(gè)服務(wù)IP及相應(yīng)的端口,對(duì)于服務(wù)IP,是一個(gè)虛擬地址,根據(jù)apiserver的portal_net選項(xiàng)設(shè)置的CIDR表示的IP地址段來(lái)選取,在我們的集群中設(shè)置為10.10.10.0/24。為此每新創(chuàng)建一個(gè)服務(wù),apiserver都會(huì)在這個(gè)地址段中隨機(jī)選擇一個(gè)IP作為該服務(wù)的IP地址,而端口是事先確定的。對(duì)redis-master服務(wù),其服務(wù)地址為10.10.10.206,端口為6379。

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list services Name Labels Selector IP Port ---------- ---------- ---------- ---------- ---------- kubernetes-ro component=apiserver,provider=kubernetes 10.10.10.207 80 redis-master name=redis-master name=redis-master 10.10.10.206 6379 kubernetes component=apiserver,provider=kubernetes 10.10.10.161 443

5.2 創(chuàng)建redis-slave Pod和redis-slave服務(wù)

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 -c redis-slave-controller.json create replicationControllers [root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 -c redis-slave-service.json create services

然后通過(guò)list命令可知新建的redis-slave Pod根據(jù)調(diào)度算法調(diào)度到兩臺(tái)minion上,服務(wù)IP為10.10.10.92,端口為6379

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list pods Name Image(s) Host Labels Status ---------- ---------- ---------- ---------- ---------- redis-master dockerfile/redis 192.168.230.4/ name=redis-master Running 8c0ddbda-728c-11e4-8233-000c297db206 brendanburns/redis-slave 192.168.230.5/ name=redisslave,uses=redis-master Running 8c0e1430-728c-11e4-8233-000c297db206 brendanburns/redis-slave 192.168.230.4/ name=redisslave,uses=redis-master Running[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list services Name Labels Selector IP Port ---------- ---------- ---------- ---------- ---------- redisslave name=redisslave name=redisslave 10.10.10.92 6379 kubernetes component=apiserver,provider=kubernetes 10.10.10.161 443 kubernetes-ro component=apiserver,provider=kubernetes 10.10.10.207 80 redis-master name=redis-master name=redis-master 10.10.10.206 6379

5.3 創(chuàng)建Frontend Pod和Frontend服務(wù)

在創(chuàng)建之前修改frontend-controller.json的Replicas數(shù)量為2,這是因?yàn)槲覀兊募褐兄挥?臺(tái)minion,如果按照f(shuō)rontend-controller.json的Replicas默認(rèn)值3,那會(huì)導(dǎo)致有2個(gè)Pod會(huì)調(diào)度到同一臺(tái)minion上,產(chǎn)生端口沖突,有一個(gè)Pod會(huì)一直處于pending狀態(tài),不能被調(diào)度。

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 -c frontend-controller.json create replicationControllers [root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 -c frontend-service.json create services

通過(guò)查看可知Frontend Pod也被調(diào)度到兩臺(tái)minion,服務(wù)IP為10.10.10.220,端口是80。

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list pods Name Image(s) Host Labels Status ---------- ---------- ---------- ---------- ---------- redis-master dockerfile/redis 192.168.230.4/ name=redis-master Running 8c0ddbda-728c-11e4-8233-000c297db206 brendanburns/redis-slave 192.168.230.5/ name=redisslave,uses=redis-master Running 8c0e1430-728c-11e4-8233-000c297db206 brendanburns/redis-slave 192.168.230.4/ name=redisslave,uses=redis-master Running a880b119-7295-11e4-8233-000c297db206 brendanburns/php-redis 192.168.230.4/ name=frontend,uses=redisslave,redis-master Running a881674d-7295-11e4-8233-000c297db206 brendanburns/php-redis 192.168.230.5/ name=frontend,uses=redisslave,redis-master Running[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list services Name Labels Selector IP Port ---------- ---------- ---------- ---------- ---------- kubernetes-ro component=apiserver,provider=kubernetes 10.10.10.207 80 redis-master name=redis-master name=redis-master 10.10.10.206 6379 redisslave name=redisslave name=redisslave 10.10.10.92 6379 frontend name=frontend name=frontend 10.10.10.220 80 kubernetes component=apiserver,provider=kubernetes 10.10.10.161 443

除此之外,你可以刪除Pod、Service及更新ReplicationController的Replicas數(shù)量等操作,如刪除Frontend服務(wù):

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 delete services/frontend Status ---------- Success

還可以更新ReplicationController的Replicas的數(shù)量,下面是更新Replicas之前ReplicationController的信息。

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list replicationControllers Name Image(s) Selector Replicas ---------- ---------- ---------- ---------- redisSlaveController brendanburns/redis-slave name=redisslave 2 frontendController brendanburns/php-redis name=frontend 2

現(xiàn)在我們想把frontendController的Replicas更新為1,則這行如下命令,然后再通過(guò)上面的命令查看frontendController信息,發(fā)現(xiàn)Replicas已變?yōu)?。

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 resize frontendController 1[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list replicationControllers Name Image(s) Selector Replicas ---------- ---------- ---------- ---------- redisSlaveController brendanburns/redis-slave name=redisslave 2 frontendController brendanburns/php-redis name=frontend 1

5.4 演示跨機(jī)器服務(wù)通信

完成上面的操作后,我們來(lái)看當(dāng)前Kubernetes集群中運(yùn)行著的Pod信息。

[root@kubernetes guestbook]# kubecfg -h http://192.168.230.3:8080 list pods Name Image(s) Host Labels Status ---------- ---------- ---------- ---------- ---------- a881674d-7295-11e4-8233-000c297db206 brendanburns/php-redis 192.168.230.5/ name=frontend,uses=redisslave,redis-master Running redis-master dockerfile/redis 192.168.230.4/ name=redis-master Running 8c0ddbda-728c-11e4-8233-000c297db206 brendanburns/redis-slave 192.168.230.5/ name=redisslave,uses=redis-master Running 8c0e1430-728c-11e4-8233-000c297db206 brendanburns/redis-slave 192.168.230.4/ name=redisslave,uses=redis-master Running

通過(guò)上面的結(jié)果可知當(dāng)前提供前端服務(wù)的PHP和提供數(shù)據(jù)存儲(chǔ)的后端服務(wù)Redis master的Pod分別運(yùn)行在192.168.230.5和192.168.230.4上,即容器運(yùn)行在不同主機(jī)上,還有Redis slave也運(yùn)行在兩臺(tái)不同的主機(jī)上,它會(huì)從Redis master同步前端寫入Redis master的數(shù)據(jù)。下面我們從兩方面驗(yàn)證Kubernetes能提供跨機(jī)器間容器的通信:

  • 在瀏覽器打開(kāi)http://${IPAddress}:8000,IPAddress為PHP容器運(yùn)行的minion的IP地址,其暴漏的端口為8000,這里IP_Address為192.168.230.5。打開(kāi)瀏覽器會(huì)顯示如下信息:

    你可以輸入信息并提交,如"Hello Kubernetes"、"Container",然后Submit按鈕下方會(huì)顯示你輸入的信息。

    由于前端PHP容器和后端Redis master容器分別在兩臺(tái)minion上,因此PHP在訪問(wèn)Redis master服務(wù)時(shí)一定得跨機(jī)器通信,可見(jiàn)Kubernetes的實(shí)現(xiàn)方式避免了用link只能在同一主機(jī)上實(shí)現(xiàn)容器間通信的缺陷,對(duì)于Kubernetes跨機(jī)器通信的實(shí)現(xiàn)方法,以后我會(huì)詳細(xì)介紹。

    ?

  • 從上面的結(jié)果,可得知已經(jīng)實(shí)現(xiàn)了跨機(jī)器的通信,現(xiàn)在我們從后端數(shù)據(jù)層驗(yàn)證不同機(jī)器容器間的通信。根據(jù)上面的輸出結(jié)果發(fā)現(xiàn)Redis slave和Redis master分別調(diào)度到兩臺(tái)不同的minion上,在192.168.230.4主機(jī)上執(zhí)行docker exec -ti c41711cc8971 /bin/sh,c41711cc8971是Redis master的容器ID,進(jìn)入容器后通過(guò)redis-cli命令查看從瀏覽器輸入的信息如下:

    如果我們?cè)?92.168.230.5上運(yùn)行的Redis slave容器里查到跟Redis master容器里相同的信息,那說(shuō)明Redis master和Redis slave之間的數(shù)據(jù)同步正常工作,下面是從192.168.230.5上運(yùn)行的Redis slave容器查詢到的信息:

    由此可見(jiàn)Redis master和Redis slave之間數(shù)據(jù)同步正常,OVS GRE隧道技術(shù)使得跨機(jī)器間容器正常通信。

6. 結(jié)論

本文主要介紹如何在本地環(huán)境部署Kubernetes集群和演示如何通過(guò)Kubernetes管理集群中運(yùn)行的容器,并通過(guò)OVS管理集群不同minion的Pod之間的網(wǎng)絡(luò)通信。接下來(lái)會(huì)對(duì)Kubernetes各個(gè)組件源碼進(jìn)行詳細(xì)分析,闡述Kubernetes的工作原理。

7. 個(gè)人簡(jiǎn)介

楊章顯,現(xiàn)就職于Cisco,主要從事WebEx SaaS服務(wù)運(yùn)維,系統(tǒng)性能分析等工作。特別關(guān)注云計(jì)算,自動(dòng)化運(yùn)維,部署等技術(shù),尤其是Go、OpenvSwitch、Docker及其生態(tài)圈技術(shù),如Kubernetes、Flocker等Docker相關(guān)開(kāi)源項(xiàng)目。Email: yangzhangxian@gmail.com

8. 參考資料

  • https://n40lab.wordpress.com/2014/09/04/openvswitch-2-3-0-lts-and-centos-7/
  • https://github.com/GoogleCloudPlatform/kubernetes/tree/master/examples/guestbook

  • 感謝郭蕾對(duì)本文的策劃和審校。


    補(bǔ)充設(shè)置Docker bridge的方法,文中漏掉了 2014年12月18日 04:51 by Alex Zhang

    本文中需要設(shè)置kbr0為docker的network bridge,但是沒(méi)有描述設(shè)置docker的步驟, ubuntu下需要在 /etc/default/docker文件中增加如下行并重啟docker進(jìn)程才能生效

    DOCKER_OPTS="-b=kbr0"

    總結(jié)

    以上是生活随笔為你收集整理的CentOS 7实战Kubernetes部署的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。