二进制安装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
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网络的更多相关文章

  1. 7、二进制安装K8s之部署kube-proxy

    二进制安装K8s之部署kube-proxy 1.创建配置文件 cat > /data/k8s/config/kube-proxy.conf << EOF KUBE_PROXY_OPT ...

  2. 6、二进制安装K8s之部署kubectl

    二进制安装K8s之部署kubectl 我们把k8s-master 也设置成node,所以先master上面部署node,在其他机器上部署node也适用,更换名称即可. 1.在所有worker node ...

  3. 10、二进制安装K8s之部署CoreDNS 和Dashboard

    二进制安装K8s之部署CoreDNS 和Dashboard CoreDNS 和Dashboard 的yaml文件在 k8s源代码压缩包里面可以找到对应的配置文件,很多人从网上直接下载使用别人的,会导致 ...

  4. 3、二进制安装K8s之部署kube-apiserver

    二进制安装K8s之部署kube-apiserver 一.生成 kube-apiserver 证书 1.自签证书颁发机构(CA) cat > ca-config.json <<EOF ...

  5. 4、二进制安装K8s 之 部署kube-controller-manager

    二进制安装K8s 之 部署kube-controller-manager 1.创建配置文件 cat > /data/k8s/config/kube-controller-manager.conf ...

  6. 5、二进制安装K8s 之 部署kube-scheduler

    二进制安装K8s之部署kube-scheduler 1.创建配置文件 cat > /data/k8s/config/kube-scheduler.conf << EOF KUBE_S ...

  7. 2、二进制安装K8s 之 部署ETCD集群

    二进制安装K8s 之 部署ETCD集群 一.下载安装cfssl,用于k8s证书签名 二进制包地址:https://pkg.cfssl.org/ 所需软件包: cfssl 1.6.0 cfssljson ...

  8. 1、二进制安装K8s 之 环境准备

    二进制安装K8s 之 环境准备 1.系统&软件 序号 设备\系统 版本 1 宿主机 MacBook Pro 11.4 2 系统 Centos 7.8 3 虚拟机 Parallels Deskt ...

  9. 9、二进制安装K8s之增加node

    二进制安装K8s之增加node 1.复制文件,要部署几台就直接复制即可 #二进制文件 scp /data/k8s/bin/{kubelet,kube-proxy} root@192.168.100.1 ...

随机推荐

  1. Linux | Shell流程控制语句

    流程控制语句 简单的Shell 脚本还不能满足我们日常工作的需要要,因为他不能批量的帮我们完成工作,所以Shell引入了 if.for.while.case 4种流程控制语句来帮助我们完成工作. if ...

  2. OSSBrowser windows使用

    目录 1. 安装 2. 启动OSSBrowser并登录 1. 安装 下载地址:github或官方 2. 启动OSSBrowser并登录 ossbrowser安装包下载到本地解压之后,点击oss-bro ...

  3. ARTS第四周

    补第四周 1.Algorithm:每周至少做一个 leetcode 的算法题2.Review:阅读并点评至少一篇英文技术文章3.Tip:学习至少一个技术技巧4.Share:分享一篇有观点和思考的技术文 ...

  4. QT. 学习之路 一

    初识QT 一:   hello-world: #include "mainwindow.h" #include <QApplication> #include < ...

  5. python找出字典中value最大值的几种方法

    假设定义一字典,m = {"a":3,"e":6,"b":2,"g":7,"f":7,"c ...

  6. 洛谷 P4402 BZOJ1552 / 3506 [Cerc2007]robotic sort 机械排序

    FHQ_Treap 太神辣 蒟蒻初学FHQ_Treap,于是来到了这道略显板子的题目 因为Treap既满足BST的性质,又满足Heap的性质,所以,对于这道题目,我们可以将以往随机出的额外权值转化为每 ...

  7. C语言 c++区别

    C语言是C89标准,C++是C++99标准的.C89就是在1989年制定的标准,如今最新的是C11和C++11标准.根据不同的标准,它们的功能也会有所不同,但是越新的版本支持的编译器越少

  8. 泛型(8)-Java7的"菱形"语法与泛型构造器

    正如泛型方法允许在方法签名中声明泛型形参一样,Java也允许在构造器签名中声明泛型形参,这样就产生了所谓的泛型构造器. package com.j1803;class Foo{ public < ...

  9. File类与常用IO流第九章——转换流

    第九章.转换流 字节编码和字符集 编码:按照某种规则将字符以二进制存储到计算机中. 解码:将存储在计算机中的二进制数按照某种规则解析显示出来. 字符编码:Character Encoding ,就是一 ...

  10. Java 将Word转为Tiff

    本文以Java代码示例展示如何将Word文档转换为Tiff格式.代码方法比较简单,加载Word文档,并通过saveToTiff(tiffFilename)方法直接保存为tiff格式即可. 1.Java ...