Kubernetes集群部署(flannel网络配置)

本文档详细介绍了如何在Kubernetes集群中配置flannel网络,包括在master和node节点上部署docker引擎,设置flannel网络子网段,并通过etcd进行通信。在master节点上将子网段写入ETCD,然后将flannel软件包拷贝到所有node节点,配置并启动flanneld服务。最后,配置docker连接flannel,并测试了跨节点的网络连通性。
摘要由CSDN通过智能技术生成

一.docker引擎部署

所有node节点部署docker引擎,这边就不一一部署,详见docker安装脚本

二.flannel网络配置

1.master(192.168.159.128)

##写入分配的子网段到ETCD中,供flannel使用##

/opt/etcd/bin/etcdctl --ca-file=ca.pem --cert-file=server.pem --key-file=server-key.pem --endpoints="https://192.168.159.128:2379,https://192.168.159.129:2379,https://192.168.159.130:2379" set /coreos.com/network/config '{ "Network": "172.17.0.0/16", "Backend": {"Type": "vxlan"}}'

在这里插入图片描述

##查看写入信息##

/opt/etcd/bin/etcdctl --ca-file=ca.pem --cert-file=server.pem --key-file=server-key.pem --endpoints="https://192.168.159.128:2379,https://192.168.159.129:2379,https://192.168.159.130:2379" get /coreos.com/network/config

在这里插入图片描述
##拷贝到所有node节点##

scp flannel-v0.10.0-linux-amd64.tar.gz root@192.168.159.129:/root
scp flannel-v0.10.0-linux-amd64.tar.gz root@192.168.159.130:/root

在这里插入图片描述

2.node(192.168.159.129、130)

tar zxvf flannel-v0.10.0-linux-amd64.tar.gz 
mkdir /opt/kubernetes/{cfg,bin,ssl} -p
mv mk-docker-opts.sh flanneld /opt/kubernetes/bin/

vim flannel.sh
#!/bin/bash

ETCD_ENDPOINTS=${1:-"http://127.0.0.1:2379"}

cat <<EOF >/opt/kubernetes/cfg/flanneld

FLANNEL_OPTIONS="--etcd-endpoints=${ETCD_ENDPOINTS} \
-etcd-cafile=/opt/etcd/ssl/ca.pem \
-etcd-certfile=/opt/etcd/ssl/server.pem \
-etcd-keyfile=/opt/etcd/ssl/server-key.pem"

EOF

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

systemctl daemon-reload
systemctl enable flanneld
systemctl restart flanneld

##这上面都是脚本内容##

在这里插入图片描述
##开启flannel网络功能##

. flannel.sh https://192.168.159.128:2379,https://192.168.159.129:2379,https://192.168.159.130:2379

systemctl status flanneld.service 
cat /run/flannel/subnet.env           #查看网段环境变量文件

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

##配置docker连接flannel##

vim /usr/lib/systemd/system/docker.service
EnvironmentFile=/run/flannel/subnet.env            #13行插入
$DOCKER_NETWORK_OPTIONS                            #14行-H 前加入

##重启docker服务##

systemctl daemon-reload
systemctl restart docker

##查看flannel网络##

ifconfig

##测试ping通对方docker0网卡 证明flannel起到路由作用##
docker run -it centos:7 /bin/bash                    #启动容器并进入

yum install net-tools -y
ifconfig
##再次测试ping通两个node中的centos:7容器##

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值