フランネルネットワークのバイナリ展開

ステップバイステップ

Flannelのバイナリ展開は、次の手順に分かれています。

  • フランネルで使用するために、割り当てられたサブネットをetcdに書き込みます
  • バイナリパッケージをダウンロードする
  • フランネルのデプロイと構成(ノードノード)
  • systemdはフランネルを管理します
  • Dockerが使用するFlannelによって生成されたサブネットを構成します
  • フランネルを開始

1.ノードIP

lnhMaster01 192.168.176.128
lnhNode01 192.168.176.135
lnhNode02 192.168.176.137

2.フランネルバイナリファイルwgethttps
://github.com/coreos/flannel/releases/download/v0.12.0/flannel-v0.12.0-linux-amd64.tar.gzをダウンロードし
、2つの実行可能ファイルflanneld解凍します。 mk-docker-opts.shから/ opt / kubernetes / bin

3. linMaster02ノードは、フランネルネットワーク構成をetcdに保存します

/opt/etcd/bin/etcdctl --ca-file=/opt/etcd/ssl/ca.pem --cert-file=/opt/etcd/ssl/server.pem --key-file=/opt/etcd/ssl/server-key.pem --endpoints="https://192.168.176.128:2379,https://192.168.176.135:2379,https://192.168.176.137:2379" set /coreos.com/network/config '{"Network": "172.15.0.0/16", "Backend": {"Type": "vxlan"}}'

4.lnhNode01ノード:フランネル構成ファイル/ opt / kubernetes / cfg / flanneldを編集します

注:lnhNode01とlnhNode00はどちらも、lnhMaster01 / opt / etcd / ssl /ディレクトリに証明書ファイルがあります。

FLANNEL_OPTIONS="-etcd-cafile=/opt/etcd/ssl/ca.pem -etcd-certfile=/opt/etcd/ssl/server.pem -etcd-keyfile=/opt/etcd/ssl/server-key.pem "

5.lnhNode01ノード:flannel.shスクリプトを編集してflanned.serviceを生成し、flannelによって割り当てられたネットワークを使用するようにdocker.serviceを構成します

#!/bin/bash

cat <<EOF >/usr/lib/systemd/system/flanneld.service
[Unit]
Description=Flanneld overlay address etcd agent
After=network-online.target network.target
Before=docker.service

[Service]
Type=notify
EnvironmentFile=/opt/kubernetes/cfg/flanneld
ExecStart=/opt/kubernetes/bin/flanneld --ip-masq $FLANNEL_OPTIONS
ExecStartPost=/opt/kubernetes/bin/mk-docker-opts.sh -k DOCKER_NETWORK_OPTIONS -d /run/flannel/subnet.env
Restart=on-failure

[Install]
WantedBy=multi-user.target

EOF

cat <<EOF >/usr/lib/systemd/system/docker.service

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
EnvironmentFile=/run/flannel/subnet.env
ExecStart=/usr/bin/dockerd  \$DOCKER_NETWORK_OPTIONS
ExecReload=/bin/kill -s HUP \$MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

EOF

systemctl daemon-reload
systemctl enable flanneld
systemctl restart flanneld
systemctl restart docker

6. lnhNode01ノード:./ flannel.shを実行します。成功すると、マシンが割り当てることができるIPを記録するために/run/flannel/subnet.envファイルが生成されます。

7.lnhNode02は、lnhNode01と同じ操作を実行して、フランネルネットワークを構成します

8.フランネルが正常に構成されているかどうかを確認します

首先看flanneld.service服务是否正常启动
如果正常启动,执行route命令看是否有flannel路由信息
ifconfig 查看是否有flannel开头的桥接网卡信息
如果以上都正常,那么用node1的docker0和node2的docker0相互ping,是可以ping通的

参照学習:https://blog.csdn.net/zhenliang8

おすすめ

転載: blog.csdn.net/qq_37640410/article/details/108989900