8、二进制安装K8s之部署CIN网络
二进制安装K8s之部署CIN网络
部署CIN网络可以使用flannel或者calico,这里介绍使用calico ecd 方式部署。
1、下载calico二进制安装包
- 创建所需目录
mkdir -p /data/k8s/calico/{bin,config,logs}
- Calico 网络配置NetworkManager。
NetworkManager 操作默认网络命名空间中接口的路由表,其中 Calico veth 对被锚定以连接到容器。这会干扰 Calico 代理正确路由的能力。
在 at 创建以下配置文件/etc/NetworkManager/conf.d/calico.conf以防止 NetworkManager 干扰接口:
cat >/etc/NetworkManager/conf.d/calico.conf <<EOF
[keyfile]
unmanaged-devices=interface-name:cali*;interface-name:tunl*;interface-name:vxlan.calico
EOF
#防止 Linux conntrack 表空间不足
sysctl -w net.netfilter.nf_conntrack_max=1000000
echo "net.netfilter.nf_conntrack_max=1000000" >> /etc/sysctl.conf
- github地址
https://github.com/projectcalico/calicoctl/releases - 文档地址
下载 calico-etcd.yaml 配置文件因为k8s使用的etcd 集群
curl https://docs.projectcalico.org/manifests/calico-etcd.yaml -o calico.yaml
2、修改配置文件
如果您使用的是 pod CIDR 192.168.0.0/16 要与k8s-集群的一致,在文件kube-apiserver.conf 的 --service-cluster-ip-rang 参数
。在ConfigMap命名中calico-config,将 的值设置为etcd_endpointsetcd 服务器的 IP 地址和端口。
提示:您可以etcd_endpoint使用逗号作为分隔符指定多个。
- 镜像最好改成私有仓库,避免失败
#镜像最好改成私有仓库:
image: registry.com/public/docker.io/calico/cni:v3.19.1
image: registry.com/public/docker.io/calico/pod2daemon-flexvol:v3.19.1
image: registry.com/public/docker.io/calico/node:v3.19.1
image: registry.com/public/docker.io/calico/kube-controllers:v3.19.1
- 生成 连接 etcd 集群证书
cat /data/etcd/ssl/server-key.pem |base64 -w 0
cat /data/etcd/ssl/server.pem |base64 -w 0
cat /data/etcd/ssl/ca.pem |base64 -w 0
写到:
metadata:
name: calico-etcd-secrets
namespace: kube-system
data:
etcd-key: #上面生成的server-key.pem结果
etcd-cert: #上面生成的server.pem结果
etcd-ca: #上面生成的ca.pem结果
- 修改data: etcd 部分如下
data:
# Configure this with the location of your etcd cluster.
etcd_endpoints: "https://192.168.0.200:2379,https://192.168.0.201:2379,https://192.168.0.202:2379"
etcd_ca: "/calico-secrets/etcd-ca"
etcd_cert: "/calico-secrets/etcd-cert"
etcd_key: "/calico-secrets/etcd-key"
etcd_endpoints etcd 集群地址,在
etcd_ca、etcd_cert、etcd_key 使用默认即可
修改网段
关闭calico ipip方式
- name: CALICO_IPV4POOL_IPIP
#value: "Always"
value: "Never"
#CIN网段,要与k8s-集群的一致,在文件kube-apiserver.conf 的 --service-cluster-ip-rang 参数
- name: CALICO_IPV4POOL_CIDR
value: "10.0.0.0/24"
3、配置好直接执行
kubectl apply -f calico-etcd.yaml
4、查看
kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
calico-kube-controllers-567b6cf877-zjqvn 1/1 Running 0 29s
calico-node-699jj 1/1 Running 0 29s
5、授权
kubectl create clusterrolebinding add-on-cluster-admin --clusterrole=cluster-admin --serviceaccount=kube-system:calico-kube-controllers
#如果要删除calico网络:
kubectl delete -f calico-etcd.yaml
rm -rf /var/lib/calico/*
rm -rf /etc/cni/net.d/*
8、二进制安装K8s之部署CIN网络的更多相关文章
- 7、二进制安装K8s之部署kube-proxy
二进制安装K8s之部署kube-proxy 1.创建配置文件 cat > /data/k8s/config/kube-proxy.conf << EOF KUBE_PROXY_OPT ...
- 6、二进制安装K8s之部署kubectl
二进制安装K8s之部署kubectl 我们把k8s-master 也设置成node,所以先master上面部署node,在其他机器上部署node也适用,更换名称即可. 1.在所有worker node ...
- 10、二进制安装K8s之部署CoreDNS 和Dashboard
二进制安装K8s之部署CoreDNS 和Dashboard CoreDNS 和Dashboard 的yaml文件在 k8s源代码压缩包里面可以找到对应的配置文件,很多人从网上直接下载使用别人的,会导致 ...
- 3、二进制安装K8s之部署kube-apiserver
二进制安装K8s之部署kube-apiserver 一.生成 kube-apiserver 证书 1.自签证书颁发机构(CA) cat > ca-config.json <<EOF ...
- 4、二进制安装K8s 之 部署kube-controller-manager
二进制安装K8s 之 部署kube-controller-manager 1.创建配置文件 cat > /data/k8s/config/kube-controller-manager.conf ...
- 5、二进制安装K8s 之 部署kube-scheduler
二进制安装K8s之部署kube-scheduler 1.创建配置文件 cat > /data/k8s/config/kube-scheduler.conf << EOF KUBE_S ...
- 2、二进制安装K8s 之 部署ETCD集群
二进制安装K8s 之 部署ETCD集群 一.下载安装cfssl,用于k8s证书签名 二进制包地址:https://pkg.cfssl.org/ 所需软件包: cfssl 1.6.0 cfssljson ...
- 1、二进制安装K8s 之 环境准备
二进制安装K8s 之 环境准备 1.系统&软件 序号 设备\系统 版本 1 宿主机 MacBook Pro 11.4 2 系统 Centos 7.8 3 虚拟机 Parallels Deskt ...
- 9、二进制安装K8s之增加node
二进制安装K8s之增加node 1.复制文件,要部署几台就直接复制即可 #二进制文件 scp /data/k8s/bin/{kubelet,kube-proxy} root@192.168.100.1 ...
随机推荐
- CentOS 8 已经不再支持,Rocky Linux 才是未来
2020年12月8日,红帽公司宣布,他们将停止开发CentOS,而在此之前CentOS一直作为红帽企业Linux的生产型分支及下游版本,此后他们将转而开发该操作系统的一个更新的上游开发变种,即 &qu ...
- python04篇 文件操作(二)、集合
一.文件操作(二) 1.1 利用with来打开文件 # with open ,python 会自动关闭文件 with open('a.txt', encoding='utf-8') as f: # f ...
- java课堂动手动脑及课后实验总结
动手动脑一:枚举 输出结果: false false true SMALL MEDIUM LARGE 分析和总结用法 枚举类型的使用是借助ENUM这样一个类,这个类是JAVA枚举类型的公共基本 ...
- 无需kubectl!快速使用Prometheus监控Etcd
在本文中,我们将安装一个Etcd集群并使用Prometheus和Grafana配置监控,以上这些操作我们都通过Rancher进行. 我们将看到在不需要依赖的情况下充分利用Rancher的应用商店实现这 ...
- sql server2016安装网址
https://www.microsoft.com/zh-cn/download/details.aspx?id=54284 SQl server 2008 附加数据库失败如何解决: https:// ...
- cookie详解(八)
一.什么是cookie 1.大概了解 什么是 Cookie?针对不同用户,做出不同的响应.,这就是Cookie的原理.是浏览器储存在用户的机器上的(可见免用户名登录)1. Cookie翻译过来是饼干的 ...
- GIS数据资源下载
GeoJSON数据下载 1.全国.省.市.县级geojson数据下载 地址:http://datav.aliyun.com/tools/atlas/#&lat=33.5219039961561 ...
- 数据结构与算法-排序(二)选择排序(Selection Sort)
摘要 选择排序的逻辑是先遍历比较出序列中最大的,然后把最大的放在最后位置. 遵循这个逻辑,用代码实现时,做到1.减少比较次数之外,这里引入一个新的指标 - 稳定性,2.保证排序过程中的稳定性也是一个优 ...
- 第二十九篇 -- UDP和TCP
最近在写WIFI模块,所以就想明确一些TCP和UDP的区别,发现以前的理解还是有点误区.现在重新学习. 相同点 UDP协议和TCP协议都是传输层协议 TCP(Transmission Control ...
- cytoscape-d3-force api
{ animate:true,//是否在布局运行时显示布局:特殊的"结束"值使布局具有离散布局的动画效果 maxIterations:0,//布局退出前的最大迭代次数 maxSim ...