久久久精品一区ed2k-女人被男人叉到高潮的视频-中文字幕乱码一区久久麻豆樱花-俄罗斯熟妇真实视频

如何進(jìn)行calico在docker上的部署及驗(yàn)證

本篇文章為大家展示了如何進(jìn)行calico在docker上的部署及驗(yàn)證,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

我們提供的服務(wù)有:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、微信公眾號(hào)開(kāi)發(fā)、網(wǎng)站優(yōu)化、網(wǎng)站認(rèn)證、安塞ssl等。為成百上千家企事業(yè)單位解決了網(wǎng)站和推廣的問(wèn)題。提供周到的售前咨詢(xún)和貼心的售后服務(wù),是有科學(xué)管理、有技術(shù)的安塞網(wǎng)站制作公司

1. 背景

以下的部署以五臺(tái)服務(wù)器環(huán)境為例:

服務(wù)器1: hostname為etcdnode1, IP為192.168.56.100
服務(wù)器2: hostname為etcdnode2, IP為192.168.56.101
服務(wù)器3: hostname為etcdnode3, IP為192.168.56.102
服務(wù)器2: hostname為hostnode1, IP為192.168.56.200
服務(wù)器3: hostname為hostnode2, IP為192.168.56.201

其中,etcdnode1,etcdnode2和etcdnode3將部署etcd,作為calico網(wǎng)絡(luò)的后端分布式存儲(chǔ);hostnode1和hostnode2將部署calico網(wǎng)絡(luò)。

軟件背景:

?	Ubuntu 16.04
?	etcd - v3.1.10 
?	Docker
?	calicoctl - v1.6.1
?	calico/node image - v.2.6.2
?	calico, calico-ipam plugins - v1.11.0

2. 部署

2.1. etcd部署

etcdnode1,etcdnode2和etcdnode3部署etcd,分別執(zhí)行下面的命令。

2.1.1. 安裝etcd

# cd /usr/local
# curl -Lhttps://github.com/coreos/etcd/releases/download/v3.1.10/etcd-v3.1.10-linux-amd64.tar.gz-o etcd-v3.1.10-linux-amd64.tar.gz
# tar -zxf etcd-v3.1.9-linux-amd64.tar.gz
# cd etcd-v3.1.9-linux-amd64
# cp etcd etcdctl /usr/bin
# mkdir -p /var/lib/etcd
# chmod -R a+rw /var/lib/etcd

2.1.2. 創(chuàng)建systemd服務(wù)文件

使用vi打開(kāi)/etc/systemd/system/etcd.service文件。

[Unit]
Description=etcd
Documentation=https://github.com/coreos/etcd

[Service]
Type=notify
Restart=always
RestartSec=5s
LimitNOFILE=40000
TimeoutStartSec=0 

ExecStart=/usr/bin/etcd --name ${local_hostname} \
   --data-dir /var/lib/etcd \
   --listen-client-urls http://0.0.0.0:2379 \
   --listen-peer-urls http://0.0.0.0:2380 \
   --advertise-client-urls http://${local_IP}:2379\
   --initial-advertise-peer-urls http://${local_IP}:2380 \
   --initial-cluster *etcdnode1=http://192.168.56.100:2380,etcdnode2=http://192.168.56.101:2380, etcdnode3=http:// 192.168.56.102:2380 *
   --initial-cluster-token my-etcd-token \
   --initial-cluster-state new
 
[Install]
WantedBy=multi-user.target

這里需要注意的是,需要將local_hostname、local_IP都替換為節(jié)點(diǎn)自己的hostname和IP地址。

2.1.3. 啟動(dòng)etcd服務(wù)

待所有etcd節(jié)點(diǎn)都同時(shí)執(zhí)行上面的步驟后,再同時(shí)執(zhí)行下面的步驟。

# systemctl daemon-reload
# systemctl enable etcd.service
# systemctl start etcd.service

2.1.4. 檢查etcd狀態(tài)

# etcdctl cluster-health               // 檢查集群的健康狀態(tài)
# etcdctl member list                  // 返回集群的成員列表

2.2. docker部署

hostnode1和hostnode2節(jié)點(diǎn)都需要配置。

2.2.1. 安裝docker

# apt -y install docker.io

2.2.2. 修改daemon.json

Docker守護(hù)進(jìn)程需要/etc/docker/daemon.json文件中配置etcd的存儲(chǔ)和通知功能。可通過(guò)vi打開(kāi)/etc/docker/daemon.json,并將${local_IP}替換為各dockerhost自己的IP地址。

{
    "cluster-store":"**etcd://192.168.56.100:2379, 192.168.56.101:2379,192.168.56.102:2379**",
    "cluster-advertise":"${local_IP}:2375",
    "hosts": ["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"]
}

2.2.3. 重啟docker服務(wù)

# systemctl restart docker.service

重啟需要一定的時(shí)間,完成后,確認(rèn)docker配置是否生效

# docker info
…
Cluster Store: etcd://192.168.56.100:2379,192.168.56.101:2379, 192.168.56.102:2379
Cluster Advertise: 192.168.56.200:2375
Insecure Registries:
  127.0.0.0/8

2.3. calico部署

每個(gè)docker host都需要配置。

2.3.1. 下載calico

PS:這里我們下載和使用的是v1.6.1版本,截止到現(xiàn)在,calico已經(jīng)出現(xiàn)v3.1.1版本了。

# wget -O /usr/local/bin/calicoctlhttps://github.com/projectcalico/calicoctl/releases/download/v1.6.1/calicoctl
# chmod +x /usr/local/bin/calicoctl
# mkdir /var/lib/calico
# curl -L -o /var/lib/calico/calicohttps://github.com/projectcalico/cni-plugin/releases/download/v1.11.0/calico
# curl -L -o/var/lib/calico/calico-ipamhttps://github.com/projectcalico/cni-plugin/releases/download/v1.11.0/calico-ipam
# chmod +x /var/lib/calico/calico
# chmod +x/var/lib/calico/calico-ipam

2.3.2. 增加calico配置

# mkdir -p /etc/calico

然后修改calico的配置,在/etc/calico/calicoctl.cfg文件增加以下內(nèi)容。這里,主要是增加etcd終端的配置,如果有多個(gè)etcd節(jié)點(diǎn),可以使用逗號(hào)連接。

apiVersion: v1

kind: calicoApiConfig

metadata:

spec:

 datastoreType: "etcdv2"

 etcdEndpoints: "http:// 192.168.56.100:2379,http:// 192.168.56.101:2379,http://192.168.56.102:2379"

2.3.3. 設(shè)置內(nèi)核網(wǎng)絡(luò)參數(shù)

Calico要求開(kāi)啟“net.ipv4.conf.all.rp_filter”和“net.ipv4.ip_forward”等參數(shù),但有些發(fā)行版默認(rèn)并未開(kāi)啟這些參數(shù),因此需要手動(dòng)開(kāi)啟。

# echo “net.ipv4.conf.all.rp_filter=1”>> /etc/sysctl.conf

# echo “net.ipv4.ip_forward=1” >>/etc/sysctl.conf

# sysctl -p

2.3.4. 啟動(dòng)calico/node容器

啟動(dòng)calico/node容器,可能需要聯(lián)網(wǎng)下載對(duì)應(yīng)的鏡像。另外,${local_IP}需要替換為各自的docker host的IP地址。

然后:

# calicoctl node run--node-image=calico/node:v2.6.2 --ip={local_IP}

檢查連接狀態(tài)。

# calicoctl node status
Calico process is running.

IPv4 BGP status
+----------------+-------------------+-------+------------+-------------+
| PEER ADDRESS  |     PEER TYPE     | STATE |  SINCE    |    INFO    |
+----------------+-------------------+-------+------------+-------------+
| 192.168.56.201 | node-to-node mesh| up    | 2017-11-06 | Established |
+----------------+-------------------+-------+------------+-------------+
IPv6 BGP status
No IPv6 peers found.

2.3.5. 創(chuàng)建docker網(wǎng)絡(luò)

注意:這一步只需要在任意一個(gè)dockerhost節(jié)點(diǎn)上創(chuàng)建即可,不同節(jié)點(diǎn)是共享calico網(wǎng)絡(luò)的。

# docker network create --driver calico--ipam-driver calico-ipam ${network name}

這里,我們創(chuàng)建一個(gè)名為“calico-network”的calico網(wǎng)絡(luò)。

# docker network create --driver calico--ipam-driver calico-ipam "calico-network"

2.3.6. 驗(yàn)證calico網(wǎng)絡(luò)

在hostnode1上執(zhí)行命令

# docker run --net calico-network--name workload-A -tid busybox

在hostnode2上執(zhí)行命令

# docker run --net calico-network--name workload-B -tid busybox

然后在容器workload-A上ping容器workload-B的IP地址,可以通就說(shuō)明配置成功。

首先獲取workload-B的IP地址,在hostnode2上執(zhí)行命令。

# docker exec workload-B hostname –i
192.168.0.17

然后在hostnode1上ping該IP地址。

# docker exec workload-A ping 192.168.0.17
PING 192.168.0.17 (192.168.0.17) 56(84)bytes of data.
64 bytes from 192.168.0.17: icmp_seq=1ttl=64 time=0.165 ms
…

Ping通即表示不同docker host上使用同一個(gè)calico網(wǎng)絡(luò)的兩個(gè)容器網(wǎng)絡(luò)互通。

2.3.7. 配置ingress特性

如果需要docker host可以訪(fǎng)問(wèn)容器網(wǎng)絡(luò),以上面的例子,如果想在hostnode2上能訪(fǎng)問(wèn)workload-A的IP地址,就需要配置該calico網(wǎng)絡(luò)的ingress特性。

先導(dǎo)出現(xiàn)有的配置。

# calicoctl get profile "calico-network"-o json > profile.json

profile.json的ingress部分,這里是一個(gè)進(jìn)入流量的配置。我們?cè)僭黾右粋€(gè)配置,尤其source->nets部分,內(nèi)容大致如下:

"ingress": [
       {
          "action":"allow",
          "source": {
            "tag":"calico-network"
          },
          "destination": {}
       },
       {
          "action":"allow",
          "source": {
            "nets": [
               "192.168.56.1/24"
            ]
          },
          "destination": {}
       }
     ],

然后替換修改過(guò)的profile.json文件。

# calicoctl replace -f profile.json

然后,在hostnode2上再用ping嘗試workload-A的IP地址,即可ping通。

上述內(nèi)容就是如何進(jìn)行calico在docker上的部署及驗(yàn)證,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

網(wǎng)站名稱(chēng):如何進(jìn)行calico在docker上的部署及驗(yàn)證
分享網(wǎng)址:http://www.sd-ha.com/article48/gcjjhp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供定制網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、電子商務(wù)搜索引擎優(yōu)化、移動(dòng)網(wǎng)站建設(shè)網(wǎng)站內(nèi)鏈

廣告

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

外貿(mào)網(wǎng)站建設(shè)