calico单个pod固定IP多pod固定ip池

2023-11-13

原理

主要利用calico组件的两个kubernetes注解:

1)cni.projectcalico.org/ipAddrs

2)cni.projectcalico.org/ipv4pools

单个pod固定IP

利用注解cni.projectcalico.org/ipAddrs

示例yaml配置如下

apiVersion: apps/v1 
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 1 # tells deployment to run 1 pods matching the template
  template:
    metadata:
      labels:
        app: nginx
      annotations:
        "cni.projectcalico.org/ipAddrs": "[\"10.20.126.1\"]"
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80

多pod固定IP池

需要创建额外IP池(除了默认IP池)。利用注解cni.projectcalico.org/ipv4pools

示例yaml配置如下

[root@k8s-master3 ~]# cat ippool1.yaml 
apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
  name: new-pool1
spec:
  blockSize: 31
  cidr: 10.21.0.0/31
  ipipMode: Never
  natOutgoing: true
[root@k8s-master3 ~]# calicoctl create -f ippool1.yaml 
Successfully created 1 'IPPool' resource(s)
[root@k8s-master3 ~]# cat ippool2.yaml 
apiVersion: projectcalico.org/v3
kind: IPPool
metadata:
  name: new-pool2
spec:
  blockSize: 31
  cidr: 10.21.0.2/31
  ipipMode: Never
  natOutgoing: true
[root@k8s-master3 ~]# calicoctl create -f ippool2.yaml 
Successfully created 1 'IPPool' resource(s)
[root@k8s-master3 ~]# 
[root@k8s-master3 ~]# 
[root@k8s-master3 ~]# calicoctl get ippool
NAME                  CIDR           SELECTOR   
default-ipv4-ippool   10.20.0.0/16   all()      
new-pool1             10.21.0.0/31   all()      
new-pool2             10.21.0.2/31   all() 

root@k8s-master3 ~]# cat nginx.yaml 
apiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  selector:
    matchLabels:
      app: nginx
  replicas: 4 # tells deployment to run 2 pods matching the template
  template:
    metadata:
      labels:
        app: nginx
      annotations:
        "cni.projectcalico.org/ipv4pools": "[\"new-pool1\",\"new-pool2\"]"
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
        ports:
        - containerPort: 80
[root@k8s-master3 ~]# kubectl create -f nginx.yaml 
deployment.apps/nginx-deployment created
[root@k8s-master3 ~]# kubectl get pods -o wide
NAME                               READY   STATUS    RESTARTS   AGE   IP          NODE          NOMINATED NODE   READINESS GATES
nginx-deployment-f49447c5d-4k4px   1/1     Running   0          11s   10.21.0.0   k8s-master4   <none>           <none>
nginx-deployment-f49447c5d-5sbrx   1/1     Running   0          11s   10.21.0.2   k8s-master4   <none>           <none>
nginx-deployment-f49447c5d-flfb8   1/1     Running   0          11s   10.21.0.3   k8s-master4   <none>           <none>
nginx-deployment-f49447c5d-q4945   1/1     Running   0          11s   10.21.0.1   k8s-master4   <none>           <none>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

calico单个pod固定IP多pod固定ip池 的相关文章

  • Kubernetes nginx 入口控制器返回 502,但仅适用于 AJAX/XmlHttpRequest 请求

    我有一个在 nginx 入口控制器后面运行 Kubernetes 的 Web 应用程序 它对于请求浏览工作正常 但来自浏览器的任何 AJAX XMLHTTPRequest 都会从 nginx 收到 502 错误 我捕获了常规请求和 AJAX
  • Kubernetes Pod 已终止 - 退出代码 137

    我需要一些关于 k8s 1 14 和在其上运行 gitlab 管道所面临的问题的建议 许多作业都会抛出退出代码 137 错误 我发现这意味着容器突然终止 集群信息 库伯内特版本 1 14 使用的云 AWS EKS 节点 C5 4xLarge
  • kubernetes nginx ingress 无法将 HTTP 重定向到 HTTPS

    我有一个托管在 Google Cloud 平台中的网络应用程序 该应用程序位于负载均衡器后面 而负载均衡器本身位于入口后面 入口设置了 SSL 证书 并按预期接受 HTTPS 连接 但有一个问题 我无法让它将非 HTTPS 连接重定向到 H
  • Kubernetes coredns pod 陷入待处理状态。无法启动仪表板[关闭]

    Closed 这个问题是与编程或软件开发无关 help closed questions 目前不接受答案 我正在按照此构建 Kubernetes 集群tutorial https www profiq com kubernetes clus
  • Kubernetes Pod 动态环境变量

    我需要能够将自定义环境变量分配给 Pod 的每个副本 一个变量应该是一些随机的 uuid 另一个唯一的数字 怎么可能实现呢 我更愿意继续使用带有副本的 部署 如果这不是开箱即用的 如何通过自定义复制控制器 控制器管理器来实现 有没有可用的钩
  • 在容器中运行多个相似的进程有意义吗?

    提供有关该问题的背景的简要背景 目前 我和我的团队正在将微服务迁移到 k8s 以减少维护多个部署工具和管道的工作量 我们计划迁移的微服务之一是 ETL Worker 它监听 SQS 上的消息并执行多阶段处理 它是使用 PHP Laravel
  • 如何从 Kubernetes 服务背后的 HTTP 请求读取客户端 IP 地址?

    我的 Web 应用程序作为 Kubernetes pod 在 SSL 的 nginx 反向代理后面运行 代理和我的应用程序都使用 Kubernetes 服务进行负载平衡 如所述here http blog kubernetes io 201
  • Kubernetes - 服务之间的通信

    我目前正在开发 kubernetes 集群 集群工作正常 我需要在不使用代理的情况下建立服务之间的通信 例如我有以下服务 worker app1 app2 app3 Worker 需要直接通过 SSH 登录应用程序容器并执行一些命令 在 d
  • Spark 执行器 STDOUT 到 Kubernetes STDOUT

    我在 Spark Worker 中运行的 Spark 应用程序将执行程序日志输出到特定文件路径 worker home directory app xxxxxxxx 0 stdout I used log4j properties将日志从
  • 如何根据 Kubernetes / Docker 事件发送警报?

    是否可以根据 Kubernetes 集群内发生的事件以某种方式发送警报 到电子邮件 slack 特别是 如果 Pod 意外重新启动或 Pod 无法启动 那么获取警报将非常有用 同样 了解 Pod 的 CPU 使用率是否超过特定阈值并获取警报
  • 允许 Kubernetes 用户列表/获取命名空间

    我有以下用户清单 我希望允许 myapp user 获取集群内所有命名空间的列表 根据我的查找 我应该创建一个 ClusterRole 但我无法真正找到足够的详细信息 是否有所有 apiGroup 以及相应资源和动词的列表 apiVersi
  • 如何将 configmap 附加到 Kubernetes 中的部署?

    根据此处找到的说明 https kubernetes io docs tasks access application cluster connecting frontend backend https kubernetes io docs
  • 如何在 kubernetes 中将秘密标记为可选?

    来自文档 除非将秘密标记为可选 否则必须先创建秘密 然后再将其作为环境变量在 pod 中使用 引用不存在的 Secret 将阻止 pod 启动 如何将秘密标记为可选 您正在寻找的是 name ENV NAME valueFrom secre
  • 让我们加密证书颁发

    我正在尝试获取 Let s Encrypt 颁发的证书 已经过去了 3 个半小时 我不小心最初将我的 SecretName 设置为 echo tls 然后将其切换到我想使用的正确的 pandaist tls 我目前有这个 kubectl g
  • K8s服务无法ping通

    我在 minikube 集群中有一个 k8s 服务 部署 名称amq in default命名空间 D20181472 argo k8s gms kubectl get svc all namespaces NAMESPACE NAME T
  • 如何从清单文件(通常是清单文件与 kubectl 运行)使用 kubectl port-forward

    我正在尝试在本地使用 Kubernetes 运行我的第一个应用程序 或者我应该说 minikube 我有一个非常基本的 Web 服务器 一个本地 docker 镜像 和官方 mongodb 我想从 dockerhub 中提取 镜像 我并不是
  • 阻止 ingress-nginx 负载均衡器上的特定路径

    我有许多指向入口控制器 IP 的域 我想阻止所有域 站点的 特定路径 有没有办法做到这一点 我可以用nginx ingress kubernetes io configuration snippet 对于每个站点 但正在寻找同时处理所有站点
  • 如何通过 kubectl 代理访问此 Kubernetes 服务?

    我想通过以下方式访问我的 Grafana Kubernetes 服务kubectl 代理服务器 https kubernetes io docs user guide kubectl v1 7 proxy 但由于某种原因 即使我可以使其适用
  • 使用 Docker Desktop 调试本地部署到 Kubernetes 的应用程序的最佳方法是什么?

    我有使用 Docker 开发相对复杂的应用程序的经验 使用 Visual Studio 2019 调试应用程序非常容易 我只是将 docker compose yaml 设置为启动应用程序并开始调试 是否可以使用 Docker Deskto
  • 容器中的 JVM 计算处理器错误?

    最近我又做了一些研究 偶然发现了这一点 在向 OpenJDK 团队抱怨之前 我想看看是否有其他人观察到这一点 或者不同意我的结论 因此 众所周知 JVM 长期以来忽略了应用于 cgroup 的内存限制 众所周知 现在从 Java 8 更新某

随机推荐

  • 不可重复读和可重复读的理解

    image png 1 不可重复读 同一个事务中 id 10行 字段c1 第一次查询 c1 0 id 10行 字段c1 第二次查询 c1 1 因为在第二次查询 另外一个事务修改了c1 1 且事务提交 2 可重复读 同一个事务中 id 10行
  • iOS编程基础-OC(九)-专家级技巧:使用运行时系统API(续)

    该系列文章系个人读书笔记及总结性内容 任何组织和个人不得转载进行商业活动 第九章 专家级技巧 使用运行时系统API 9 2 使用运行时系统API 接下来仍然是编写一段程序 该程序会使用运行时系统API以动态的方式创建一个类和一个类实例 然后
  • ES7基础篇-04-索引映射操作(_mappering)

    文章目录 1 简介 2 索引库和索引映射一起创建 3 索引库和索引映射分开创建 4 字段映射解释 5 查看映射关系 6 映射属性详解 1 简介 有了索引库 等于有了数据库中的database 接下来就需要索引库中的类型了 也就是数据库中的表
  • 同步复位、异步复位、亚稳态、建立时间、保持时间、恢复时间、清除时间

    同步 异步复位的概念是重要的基础内容 需对其有较清晰的认识 才能在复位电路的设计时得心应手 本文基于前辈分享 结合自己的理解 浅谈亚稳态 复位电路等相关内容 首先需要明确的是 同步 异步名词背后的两个对象是谁 谁和谁同 谁和谁异 复位的目标
  • java自动化测试之开发工具eclipse安装配置

    java自动化测试之开发工具eclipse安装配置 一 eclipse下载 下载地址 http www eclipse org downloads http www eclipse org downloads 打开连接后 显示如下 选择Ec
  • 单片机期末复习

    一 填空题 1 最小系统能够运行起来的必要条件 单片机的最小系统包含 电源电路 晶振电路 复位电路 单片机最小系统供电正常 提拱能量 单片机芯片工作正常 单片机最小系统各元器件连接电路无误 单片机片外晶振 谐振电容正常 单片机复位电路正常
  • 4.3 AI识虫比赛

    文章目录 一 查看环境并准备数据 二 启动训练 三 启动评估 计算精度指标 四 预测单张图片并可视化预测结果 五 提升方案 一 查看环境并准备数据 查看当前挂载的数据集目录 该目录下的变更重启环境后会自动还原 ls home aistudi
  • import cv2

    windows下 环境 Python 3 8 5 可以通过一下指令查看 python version 遇到的坑 1 在程序中 import cv2 无报错 但运行程序没有效果 直接程序退出 直到注释掉该句导入 程序才正常测试 直接在命令行中
  • Java版的数据结构——栈和队列

    目录 1 栈 Stack 1 1 概念 1 2 栈的使用 1 3 栈的模拟实现 1 4 栈的应用场景 1 4 1 改变元素的序列 1 4 2 将递归转化为循环 2 队列 Queue 2 1 概念 2 2 队列的使用 2 3 队列模拟实现 2
  • 4G 网络跟 5G 的区别

    1 5G网络的速度据说保守可以达到4G的10 20倍 下载一些大型文件 例如电影 大型电脑游戏 将会是分分钟的事 2 5G网络将会率先使用云RAN和虚拟RAN这样的新架构 以促进一个更加中心化网络的建立 并通过身处网络边缘的本地化数据中心来
  • 微信小程序 getUserProfile直接进入fail函数,getUserProfile调用失败:fail desc length does not meet the requirements

    问题描述 我刚开始的getUserProfile的desc是这么写的 wx getUserProfile desc 获取你的昵称 头像 地区及性别用于信息注册 success res gt console log res console l
  • c语言中函数的声明和定义

    点击上方蓝字关注我 了解更多咨询 1 函数声明 无需实现该函数的功能 函数声明只是一个空壳 不会有特定的函数实现 2 函数定义 必须实现该函数的功能 要实现函数的实现 include
  • 动作/行为识别调研

    动作识别调研 1 简介 1 1 基本概念 1 2 难点 2 人体动作识别系统 2 1 传统方法 2 1 1 iDT框架 2 2 深度学习方法 2 2 1 Two Stream双流架构 2 2 2 3D卷积架构 2 2 3 CNN LSTM架
  • 【C++】匿名对象

    文章目录 一 基本概念 二 使用场景 三 注意事项 一 基本概念 匿名对象 也叫作临时对象 就是创建时不用取名的对象 它的生命周期只有一行 例子 class A int main 创建匿名对象 A 生命周期只有这一行 下一行就自动调用析构函
  • 如何在 seaborn 中创建三角相关热图?

    在本教程中 我们将学习在 seaborn 中创建三角形相关热图 顾名思义 相关性是一种度量 用于显示变量的相关程度 相关热图是一种表示数值变量之间关系的图 这些图用于了解哪些变量彼此相关以及它们之间的关系强度 而热图是使用不同颜色的数据的二
  • css text-shadow

  • 喜讯

    日前 华院计算因其在AIGC领域的技术突破和创新成果入选数据猿 2023中国AIGC领域最具商业合作价值企业盘点 基于其数智人产品及解决方案 为不同细分场景 行业 领域提供交互式智能终端 虚拟直播平台和智能视频生成平台等产品及服务 凭借其在
  • 【PKMS】- Settings中应用详情页卸载还原系统应用但数据未清除

    PKMS Settings中应用详情页卸载还原系统应用但数据未清除 一 问题描述 最近工作中出现一个问题 系统应用卸载后重装还原发现应用数据还在 复现操作 1 系统预置该应用在system priv app下 手机里预置的是旧版本的该应用
  • 隐私计算 FATE - 多分类神经网络算法测试

    一 说明 本文分享基于 Fate 使用 横向联邦 神经网络算法 对 多分类 的数据进行 模型训练 并使用该模型对数据进行 多分类预测 二分类算法 是指待预测的 label 标签的取值只有两种 直白来讲就是每个实例的可能类别只有两种 0 或者
  • calico单个pod固定IP多pod固定ip池

    原理 主要利用calico组件的两个kubernetes注解 1 cni projectcalico org ipAddrs 2 cni projectcalico org ipv4pools 单个pod固定IP 利用注解cni proje