kubernetes 应用来自 json 的现有服务的更改

kubernetes apply changes of existing service from json

我需要帮助来了解如何使用 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

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

那么 kubectl 命令是否适用于使用 json 文件,它会使用 json 文件更新 svc 吗?

感谢您的帮助

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

对了,我已经在yamljson中给出了loadbalancer服务的格式作为示例模板,你可以根据需要使用它们。

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