web-dev-qa-db-fra.com

kubectl - Comment modifier le type de spécification de service dans LoadBalancer via la ligne de commande?

J'ai un service k8s de type clusterIP .. je dois changer la configuration ci-dessous via CLI

  1. du port http au port https
  2. le numéro de port
  3. le type de Load Balancer

Existe-t-il un moyen de le faire ..?

6

Vous ne pouvez pas supprimer le port existant, mais vous pouvez ajouter le port HTTPs et également changer le type en utilisant patch kubectl

Exemple:

kubectl patch svc <my_service> -p '{"spec": {"ports": [{"port": 443,"targetPort": 443,"name": "https"},{"port": 80,"targetPort": 80,"name": "http"}],"type": "LoadBalancer"}}'

Si vous ne voulez pas créer de JSON sur la ligne de commande, créez un fichier yaml comme ceci:

ports:
  - port: 443
    targetPort: 443
    name: "https"
  - port: 80
    targetPort: 80
    name: "http"
  type: LoadBalancer

Et puis:

kubectl patch svc <my_service> --patch "$(cat patch.yaml)"
8
jaxxstorm

kubectl edit svc <service_name> -n <namespace>

i - pour modifier le service

ESC,: wq - mettez à jour votre service

Utilisation kubectl patch si vous ne voulez pas l'invite.

3
AvnishSingh