环境介绍:

服务器IP地址

主机名

安装软件

192.168.1.101

etcd-node01

etcd/k8s_master/flannel/docker-ce

192.168.1.102

etcd-node02

etcd/k8s_master/flannel/docker-ce

192.168.1.103

etcd-node03

etcd/k8s_master/flannel/docker-ce

192.168.10.159

docker-node09

K8s_node02/flannel/docker-ce

192.168.10.156

docker-node01

K8s_node01/flannel/docker-ce

 

前言:上一篇已经安装完成etcd集群,本节安装docker环境以及flannel网络

 

一、定义flannel网络子网网段

1、flannel网络工作原理

 

2、Flannel要使用etcd集群存储自身的一个子网信息,所以要保证成功连接etcd集群,写入预定义子网段,本节定义flannel网络子网段为10.10.0.0/16:

  在etcd集群的某一个节点上运行如下命令:

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.1.101:2379,https://192.168.1.102:2379,https://192.168.1.103:2379" set /coreos.com/network/config'{"Network": "10.10.0.0/16", "Backend": {"Type": "vxlan"}}'

 

二、搭建flanne网络(以下部署在每一个k8s节点上都操作,包括master和node)

1、分发etcd证书

由于k8s_master节点与etcd节点在同一服务器上,故只需将etcd的证书目录/opt/etcd/ssl拷贝分发到其他所有k8s_node节点,

2、下载flannel二进制包

#wget https://github.com/coreos/flannel/releases/download/v0.10.0/flannel-v0.10.0-linux-amd64.tar.gz

#tar -zxvf flannel-v0.10.0-linux-amd64.tar.gz

#mv flanneld mk-docker-ops.sh /opt/kubernetes/bin/

3、配置Flannel:

#cat /opt/kubernetes/cfg/flanneld

FLANNEL_OPTIONS="-etcd-cafile=/opt/etcd/ssl/ca.pem -etcd-certfile=/opt/etcd/ssl/server.pem -etcd-keyfile=/opt/etcd/ssl/server-key.pem --etcd-endpoints=https://192.168.1.101:2379,https://192.168.1.102:2379,https://192.168.1.103:2379"

 

4、systemd管理Flannel:

 

#cat /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

5、启动flannel网络服务

#systemctl daemon-reload

#systemctl start flanneld

#systemctl enable flanneld

 

三、安装docker(以下部署在每一个k8s节点上都操作,包括master和node)

1、安装docker-ce

#yum install -y yum-utils device-mapper-persistent-data lvm2

#yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

#yum install docker-ce-18.03.1.ce-1.el7.centos -y

 

2、配置docker启动指定子网段

 

3、启动docker服务

#systemctl daemon-reload

#systemctl start docker

#systemctl enable docker

 

四、检查

 

1、检查docker进程

 

2、检查flanneld进程

 

3、检查flannel与docker网络

可以看到本地flannel子网段为:10.10.50.0/32

本地docker网关为10.10.50.1/24

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐