【问题标题】:kubernetes set value of service/status/loadBalance/ingress- ipkubernetes设置service/status/loadBalance/ingress-ip的值
【发布时间】:2017-08-21 21:36:07
【问题描述】:

我正在寻找一种在创建 type=loadbalancer 的 k8s 服务后设置 service/status/loadBalance/ingress-ip 的方法(如下一个链接 https://kubernetes.io/docs/concepts/services-networking/service/ 的“Type LoadBalancer”部分所示)。

我的问题与以下链接 (Is it possible to update a kubernetes service 'External IP' while watching for the service?) 中描述的问题类似,但找不到答案。

提前致谢

【问题讨论】:

    标签: python kubernetes


    【解决方案1】:

    有两种方法可以做到这一点。使用json patch 或使用合并补丁。后者的做法如下:

    [centos@ost-controller ~]$ cat patch.json
    {
        "status": {
            "loadBalancer": {
                "ingress": [
                    {"ip": "8.3.2.1"}
                ]
            }
        }
    }
    

    现在,您可以在此处看到合并补丁,您必须创建一个包含所有需要合并更改的对象树(从状态开始)的字典。如果你想替换某些东西,那么你必须使用 json 补丁策略。

    一旦我们有了这个文件,我们就会发送请求,如果一切顺利,我们将收到包含已应用合并的对象的响应:

    [centos@ost-controller ~]$ curl --request PATCH --data "$(cat patch.json)" -H "Content-Type:application/merge-patch+json" http://localhost:8080/api/v1/namespaces/default/services/kubernetes/status{
      "kind": "Service",
      "apiVersion": "v1",
      "metadata": {
        "name": "kubernetes",
        "namespace": "default",
        "selfLink": "/api/v1/namespaces/default/services/kubernetes/status",
        "uid": "b8ece320-76c1-11e7-b468-fa163ea3fb09",
        "resourceVersion": "2142242",
        "creationTimestamp": "2017-08-01T14:00:06Z",
        "labels": {
          "component": "apiserver",
          "provider": "kubernetes"
        }
      },
      "spec": {
        "ports": [
          {
            "name": "https",
            "protocol": "TCP",
            "port": 443,
            "targetPort": 6443
          }
        ],
        "clusterIP": "10.0.0.129",
        "type": "ClusterIP",
        "sessionAffinity": "ClientIP"
      },
      "status": {
        "loadBalancer": {
          "ingress": [
            {
              "ip": "8.3.2.1"
            }
          ]
        }
      }
    

    【讨论】:

    • 仍然适用于 ocp4.2/k8s 1.14。拯救了我的一天。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2018-07-18
    • 2019-08-08
    • 1970-01-01
    • 2022-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-14
    相关资源
    最近更新 更多