0

我需要帮助来了解如何使用 json 文件更新我的 svc 配置:我的 svc 已启动并正在运行,但它不是我想要的类型,它是一个集群 ip,我想将其更改为入口类型和类型负载均衡器:目前这里是服务:

kubectl -n nifitest get svc -o wide
simplenifi-all-node   ClusterIP      192.164.115.193   <none>          8080/TCP,6007/TCP,10000/TCP   44h   app=nifi,nifi_cr=simplenifi

现在我想部署一个指向入口的服务

那么是否有像 apply 一样的 kubectl 命令来使用 json 文件,它会使用 json 文件更新 svc 吗?

谢谢您的帮助

4

1 回答 1

2

您需要使用负载均衡器类型创建新服务。您不能更新前一个(从type: ClusterIPtype: LoadBalancer),因为它是不可变的。

顺便说一句,我已经给出了负载均衡器服务的格式,yamljson作为示例模板,您可以根据需要使用它们。

Json 格式:

{
   "apiVersion": "v1",
   "kind": "Service",
   "metadata": {
      "name": "my-service"
   },
   "spec": {
      "selector": {
         "app": "MyApp"
      },
      "ports": [
         {
            "protocol": "TCP",
            "port": 80,
            "targetPort": 9376
         }
      ],
      "clusterIP": "192.164.115.193",
      "type": "LoadBalancer"
   },
   "status": {
      "loadBalancer": {
         "ingress": [
            {
               "ip": "192.0.2.127"
            }
         ]
      }
   }
}

Yaml 格式:

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app: MyApp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9376
  clusterIP: 192.164.115.193
  type: LoadBalancer
status:
  loadBalancer:
    ingress:
    - ip: 192.0.2.127
于 2021-01-29T12:36:14.810 回答