ステップバイステップ
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