Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Kubernetes 是否可能更改入口的IP?_Kubernetes - Fatal编程技术网

Kubernetes 是否可能更改入口的IP?

Kubernetes 是否可能更改入口的IP?,kubernetes,Kubernetes,是否可以更改入口的IP apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: test-ingress spec: defaultBackend: service: name: test-reg port: number: 5000 现在是分配在自动23,但我想改变它,并保持静态 [ciuffoly@master-node ~]$ kubectl get ingresses NAME

是否可以更改入口的IP

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: test-ingress
  spec:
  defaultBackend:
service:
  name: test-reg
  port:
    number: 5000
现在是分配在自动23,但我想改变它,并保持静态

[ciuffoly@master-node ~]$ kubectl get ingresses
NAME           CLASS    HOSTS   ADDRESS        PORTS   AGE
test-ingress   <none>   *       192.168.1.23   80      5m9s
[ciuffoly@master-node~]$kubectl获取入口
名称类主机地址端口年龄
测试入口*192.168.1.23 80 5m9
是否可能“更改IP地址”在很大程度上取决于所使用的Kubernetes解决方案以及集群内如何处理
入口

考虑到缺乏有关设置的信息,可能很难指出正确的方向。我决定发布一个社区维基答案,给出更多的基本想法,并指出在哪里寻找可能的答案

请随意扩展它


如果Kubernetes集群是受管理的(
GKE
EKS
AKS
),并且您使用的是由云提供商管理的
Ingress
,那么最好的选择是参考其关于IP分配的文档。一些提供程序通过
ingres
注释允许您分配以前分配的特定IP地址(例如在
Web UI
中)

如果Kubernetes集群是在本地配置的(
kubespray
kubeadm
硬道
),或者类似于
minikube
microk8s
或带有Kubernetes的
Docker桌面
,那么检查它如何处理
入侵
资源仍然是最好的做法。例如,带有
metallib
kubespray
集群与
microk8s
集群之间会存在差异

我的意思是,在大多数情况下,
ingres
资源由
ingres控制器
处理(集群内的
Pod
或一组
Pod
)。根据使用的解决方案,它在大多数情况下的工作方式如下:

  • 入口
    控制器(
    集群角色
    验证WebhookConfiguration
    角色绑定
    等)创建资源
  • 创建特定类型的
    服务
    (取决于解决方案)以指向
    部署
    /
    守护程序集
    ,该守护程序集是
    入口控制器
    (如
    nginx入口
    kong
    等)
  • 创建
    入口控制器的
    部署
    /
    守护程序集
    ,以接收流量并将其发送到
    入口
    资源中指定的
    服务
对于IP地址更改,您需要特别了解该
入口控制器如何暴露于外部源,以及是否/如何更改其配置。

使用
kubeadm
kubespray
创建的内部集群与使用Kubernetes的
minikube
Docker Desktop
等本地开发解决方案之间也存在固有差异

根据我的经验,我遇到过
入口控制器
,它们通过以下方式暴露:

  • 服务
    类型为
    负载平衡器
    ——假设您的设置允许使用此类
    服务
  • 主机网络
    (绑定到
    节点上的端口
    ,因此使用其IP地址)

附加参考:


您好,您能为您的问题添加更多细节吗?我认为这是可能的,但如果没有有关设置的信息,就很难为您指出正确的解决方案。请说明您的Kubernetes群集是如何创建的,以及您使用的是哪个
Ingress controller