IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 网络协议 -> Calico根据拓扑分配 IP 地址并隔离 -> 正文阅读

[网络协议]Calico根据拓扑分配 IP 地址并隔离

本文默认已安装calico,Calico可通过节点标签分配ip池,当pod落在特定标签的节点上时,会从给定的ip池中获取ip

10-calico.conflist文件确认

确认/etc/cni/net.d/10-calico.conflist中ipam字段为以下内容,不能在此处填入ipv4_pools: ["xx.xx.xx.xx/xx"],如果有,直接删除该字段即可

"ipam": {
? ? ? ? "type": "calico-ipam",
? ? ? ? "assign_ipv4": "true"
? ? ? },

配置calicoctl?

如已配置可忽略

下载对应架构及对应操作系统calicoctl二进制文件

Install calicoctl

连接etcd

Configure calicoctl to connect to an etcd datastore

calicoclt默认配置文件为/etc/calico/calicoctl.cfg,如果没有手动创建,本次示例如下

apiVersion: projectcalico.org/v3
kind: CalicoAPIConfig
metadata:
spec:
? etcdEndpoints: https://172.20.42.70:2379
? etcdKeyFile: etc/ssl/etcd/ssl/node-master1-key.pem
? etcdCertFile: etc/ssl/etcd/ssl/node-master1.pem?
? etcdCACertFile: etc/ssl/etcd/ssl/ca.pem

测试配置情况

calicoctl get ippool

ippool操作

删除默认ippool

如果calicoctl get ippool -o wide 获取到的默认ippool占据了整个cluster-cidr,可从kube-controller-manager.yaml文件中查看-cluster-cidr,需要删除默认ippool,ippool名字无影响,主要是nodeSelector字段如果为 all()则表示应用在所有node

calicoctl delete ippool default-pool

其他操作参考??Assign IP addresses based on topology即可

创建NetworkPolicy

?参考网络策略 | Kubernetes

上文中创建一个ippool,其cidr为10.233.1.0/24,此处创建一个NetworkPolicy,表示只能允许10.233.1.0/24网段的ip访问label为app: nginx的pod,label为app: nginx的pod也只能访问网段为10.233.1.0/24的pod,此处的标签可替换为整个隔离环境公共的一个标签

apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
  name: my-network-policy
spec:
  podSelector:
    matchLabels:
      app: nginx
  policyTypes:
  - Ingress
  - Egress
  ingress:
  - from:
    - ipBlock:
        cidr: 10.233.1.0/24
  egress:
  - to:
    - ipBlock:
        cidr: 10.233.1.0/24
  网络协议 最新文章
使用Easyswoole 搭建简单的Websoket服务
常见的数据通信方式有哪些?
Openssl 1024bit RSA算法---公私钥获取和处
HTTPS协议的密钥交换流程
《小白WEB安全入门》03. 漏洞篇
HttpRunner4.x 安装与使用
2021-07-04
手写RPC学习笔记
K8S高可用版本部署
mySQL计算IP地址范围
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 19:11:36  更:2021-11-16 19:13:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年7日历 -2024/7/3 21:44:49-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码