K8s集群部署(四)------ Flannel网络部署
所有节点都要部署Flannel网络,在所有节点操作。
1.为Flannel生成证书
[root@k8s-master ssl]# pwd /usr/local/src/ssl[root@k8s-master ssl]# vim flanneld-csr.json {"CN": "flanneld","hosts": [],"key": {"algo": "rsa","size": 2048},"names": [{"C": "CN","ST": "BeiJing","L": "BeiJing","O": "k8s","OU": "System"}] }
2.生成证书
[root@k8s-master ssl]# cfssl gencert -ca=/opt/kubernetes/ssl/ca.pem \ > -ca-key=/opt/kubernetes/ssl/ca-key.pem \ > -config=/opt/kubernetes/ssl/ca-config.json \ > -profile=kubernetes flanneld-csr.json | cfssljson -bare flanneld
3.分发证书
[root@k8s-master ssl]# cp flanneld*.pem /opt/kubernetes/ssl/ [root@k8s-master ssl]# scp flanneld*.pem 10.0.3.226:/opt/kubernetes/ssl/ [root@k8s-master ssl]# scp flanneld*.pem 10.0.3.227:/opt/kubernetes/ssl/
4.下载Flannel软件包
[root@k8s-master ssl]# cd /usr/local/src [root@k8s-master src]# tar zxf flannel-v0.10.0-linux-amd64.tar.gz [root@k8s-master src]# cp flanneld mk-docker-opts.sh /opt/kubernetes/bin/#复制到Node节点 [root@k8s-master src]# scp flanneld mk-docker-opts.sh 10.0.3.226:/opt/kubernetes/bin/ [root@k8s-master src]# scp flanneld mk-docker-opts.sh 10.0.3.227:/opt/kubernetes/bin/ #复制对应脚本到/opt/kubernetes/bin下 [root@k8s-master src]# cd /usr/local/src/kubernetes/cluster/centos/node/bin/ [root@k8s-master bin]# cp remove-docker0.sh /opt/kubernetes/bin/ [root@k8s-master bin]# scp remove-docker0.sh 192.168.56.12:/opt/kubernetes/bin/ ^C[root@k8s-master bin]# scp remove-docker0.sh 10.0.3.226:/opt/kubernetes/bin/ [root@k8s-master bin]# scp remove-docker0.sh 10.0.3.227:/opt/kubernetes/bin/下载地址: # wget https://github.com/coreos/flannel/releases/download/v0.10.0/flannel-v0.10.0-linux-amd64.tar.gz
5.配置Flannel
[root@k8s-master bin]# vim /opt/kubernetes/cfg/flannel FLANNEL_ETCD="-etcd-endpoints=https://10.0.3.225:2379,https://10.0.3.226:2379,https://10.0.3.227:2379" FLANNEL_ETCD_KEY="-etcd-prefix=/kubernetes/network" FLANNEL_ETCD_CAFILE="--etcd-cafile=/opt/kubernetes/ssl/ca.pem" FLANNEL_ETCD_CERTFILE="--etcd-certfile=/opt/kubernetes/ssl/flanneld.pem" FLANNEL_ETCD_KEYFILE="--etcd-keyfile=/opt/kubernetes/ssl/flanneld-key.pem" 复制配置到其它节点上 [root@linux-node1 ~]# scp /opt/kubernetes/cfg/flannel 10.0.3.226:/opt/kubernetes/cfg/ [root@linux-node1 ~]# scp /opt/kubernetes/cfg/flannel 10.0.3.227:/opt/kubernetes/cfg/
6.设置Flannel系统服务
[root@linux-node1 ~]# vim /usr/lib/systemd/system/flannel.service [Unit] Description=Flanneld overlay address etcd agent After=network.target Before=docker.service[Service] EnvironmentFile=-/opt/kubernetes/cfg/flannel ExecStartPre=/opt/kubernetes/bin/remove-docker0.sh ExecStart=/opt/kubernetes/bin/flanneld ${FLANNEL_ETCD} ${FLANNEL_ETCD_KEY} ${FLANNEL_ETCD_CAFILE} ${FLANNEL_ETCD_CERTFILE} ${FLANNEL_ETCD_KEYFILE} ExecStartPost=/opt/kubernetes/bin/mk-docker-opts.sh -d /run/flannel/dockerType=notify[Install] WantedBy=multi-user.target RequiredBy=docker.service 复制系统服务脚本到其它节点上 # scp /usr/lib/systemd/system/flannel.service 10.0.3.226:/usr/lib/systemd/system/ # scp /usr/lib/systemd/system/flannel.service 10.0.3.227:/usr/lib/systemd/system/
Flannel CNI集成
1.下载CNI插件
下载地址:https://github.com/containernetworking/plugins/releases wget https://github.com/containernetworking/plugins/releases/download/v0.7.1/cni-plugins-amd64-v0.7.1.tgz [root@linux-node1 ~]# mkdir /opt/kubernetes/bin/cni [root@linux-node1 src]# tar zxf cni-plugins-amd64-v0.7.1.tgz -C /opt/kubernetes/bin/cni # scp -r /opt/kubernetes/bin/cni/* 10.0.3.226:/opt/kubernetes/bin/cni/ # scp -r /opt/kubernetes/bin/cni/* 10.0.3.227:/opt/kubernetes/bin/cni/
2.创建Etcd的key
/opt/kubernetes/bin/etcdctl --ca-file /opt/kubernetes/ssl/ca.pem --cert-file /opt/kubernetes/ssl/flanneld.pem --key-file /opt/kubernetes/ssl/flanneld-key.pem \--no-sync -C https://10.0.3.225:2379,https://10.0.3.226:2379,https://10.0.3.227:2379 \ mk /kubernetes/network/config '{ "Network": "10.2.0.0/16", "Backend": { "Type": "vxlan", "VNI": 1 }}' >/dev/null 2>&1
3.启动flannel
[root@k8s-master src]# systemctl daemon-reload [root@k8s-master src]# systemctl enable flannel [root@k8s-master src]# chmod +x /opt/kubernetes/bin/* [root@k8s-master src]# systemctl start flannel
4.查看服务状态
[root@k8s-master src]# systemctl status flannel
配置Docker使用Flannel
[root@k8s-mastrt ~]# vim /usr/lib/systemd/system/docker.service [Unit] #在Unit下面修改After和增加Requires After=network-online.target firewalld.service flannel.service Wants=network-online.target Requires=flannel.service[Service] #增加EnvironmentFile=-/run/flannel/docker Type=notify EnvironmentFile=-/run/flannel/docker ExecStart=/usr/bin/dockerd $DOCKER_OPTS
将配置复制到另外两个节点
# scp /usr/lib/systemd/system/docker.service 10.0.3.226:/usr/lib/systemd/system/ # scp /usr/lib/systemd/system/docker.service 10.0.3.227:/usr/lib/systemd/system/
重启Docker
[root@k8s-master ~]# systemctl daemon-reload [root@k8s-master ~]# systemctl restart docker
执行ifconfig可以看到docker容器 和 Flannel在一个网段。
转载于:https://www.cnblogs.com/root0/p/9959569.html
K8s集群部署(四)------ Flannel网络部署相关推荐
- k8s集群监控cadvisor+prometheus+grafana部署
目录 1.新建命名空间monitor 2.部署 2.1部署cadvisor 2.2部署node_exporter 2.3部署prometheus 2.4部署rbac权限 2.5.部署 metrics ...
- openstack vlan配置_为OpenStack和K8s集群提供无缝虚拟网络
在数据中心里,同时拥有OpenStack和Kubernetes集群的情况正变得越来越普遍. 一边是由OpenStack管理的虚拟机,另一边是由K8s控制的容器化工作负载.现实情况下,可能会发生虚拟机和 ...
- 搭建K8s集群(kubeadm方式)-部署node节点和集群测试
部署CNI网络插件 上面的状态还是NotReady,下面我们需要网络插件,来进行联网访问 # 下载网络插件配置 wget https://raw.githubusercontent.com/coreo ...
- K8S章节2 — k8s集群中通过rook方式部署ceph
1.k8s部署 参考:kubernetes简介及单master集群搭建. 部署完成后如下: hostname IPADDR k8s-master 192.168.1.11 k8s-node01 192 ...
- 搭建K8s集群(kubeadm方式)-部署master节点
安装Docker/kubeadm/kubelet 所有节点安装Docker/kubeadm/kubelet ,Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker 安装D ...
- 搭建K8s集群(平台规划和部署方式介绍)
服务器硬件配置要求 测试环境 master:2核 4G 20G node: 4核 8G 40G 生产环境 master:8核 16G 100G node: 16核 64G 200G 目前生产部署Kub ...
- Docker+K8S 集群环境搭建及分布式应用部署
互联网正在飞速发展,早已由最初的单体架构演变为如今的分布式架构,而分布式架构也为系统运维带来了挑战.架构在发展,系统运维技术也在不断升级.而伴随着系统运维的是如今炒的火热的容器技术,Docker 就是 ...
- k8s 集群之使用 nfs 网络存储挂载外部目录和文件
如果使用 k8s 部署 mysql.redis.minio等数据和文件存储服务,k8s 默认容器如果重建,则容器中的数据文件将会丢失,所以为了解决这些问题,通常就需要将容器中需要持久化的文件存储到其它 ...
- 搭建K8S集群之node节点部署
在上一篇文章中,我们完成了K8S系列之K8S集群之Master节点部署,在这篇文章中,我们将开始部署Node节点相关的组件.在node节点上,需要部署kubelet和kube-proxy两个K8S组件 ...
- 阿里云-ECS云服务器跨地域部署k8s集群
阿里云-ECS云服务器跨地域部署k8s集群 一 .背景介绍 二.环境准备 2.1 ECS云服务资源清单 2.2 K8s软件列表 三.阿里云ECS服务器网络问题 3.1 问题阐述 3.2 解决方案 四. ...
最新文章
- 同时上哈佛,还一起一作发Nature!这对95后学霸情侣让人慕了……
- NEC中标里斯本智慧城市项目 助力城市整体数字化变革
- 监测你的SQL SERVER--让瓶颈暴露
- 解决cmd命令查看python版本“python不是内部命令或外部命令,也不是可执行程序解决方案”的问题
- 模拟浏览器自动化测试工具Selenium之三页面窗口切换开发篇
- python将文本中的数据处理成图像(matplotlib)
- POJ-2407 欧拉函数
- 程序员书籍哪里找?有这个GitHub项目就够了
- oracle的pl sql教程,Oracle PL SQL从入门到精通_IT教程网
- java毕向东学习笔记——day09
- wps怎么下载仿宋gb2312_仿宋|如何下载仿宋gb2312字体_wps仿宋gb2312字体下载方法_234游戏网...
- swarm主网BZZ挖矿:钱包如何添加BZZ合约?如何查钱包余额?
- 微信开发工具(小程序)
- 漂亮特殊字体可复制_特殊字体生成器 漂亮特殊字体可复制
- macOS安装MySQL,使用Navicat连接MySQL数据库/2022
- CodeForces - 348A Mafia (贪心)
- 廖雪峰的官方网站Python教程练习题
- HTML:1分钟实现简单网站导航栏
- [pytorch]torch.roll函数
- sql 查询除某列之外的数据
热门文章
- linux日志文件优缺点,Linux日志文件总结
- 帮你快速拿Offer!java基础入门课后答案第二版
- 第 17 章 命令模式
- php后端接收数据,后端如何接收fetch方式发送的数据?
- android 自定义权限弹窗_Android-开源通用弹窗的封装CommonPopupWindow(总得向别人学点什么)...
- 云服务器磁盘挂载_云服务器快照是备份的吗?
- 三元一次方程组步骤_人教版数学七年级下册8.4三元一次方程组的解法精讲
- android select下拉列表_Python+selenium自动化之下拉列表操作(一)
- java jsch shell_如何在字符串中获取jsch shell命令输出
- 低压抽屉柜常见故障处理方法_传真机常见故障如何处理 传真机常见故障处理方法【详解】...