Déployer des services

Le déploiement de services sur des clusters avec Cloud Service Mesh est presque de la même manière que pour déployer des services sur des clusters sans Cloud Service Mesh. Vous devez apporter des modifications à vos fichiers manifestes Kubernetes :

  • Créer des services Kubernetes pour tous les conteneurs Tout Déploiements devrait comporter un Service Kubernetes associé.

  • Attribuez un nom à vos ports de service. Bien que GKE vous permette définir des ports de service sans nom, Cloud Service Mesh exige que vous fournissiez nom d'un port correspondant au nom du port standard.

  • Étiquetez vos déploiements. Cela vous permet d'utiliser le trafic Cloud Service Mesh de gestion centralisée, comme la répartition du trafic entre les versions d'une même Google Cloud.

L'exemple de déploiement et de service suivant illustre ces exigences :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: helloserver
spec:
  replicas: 1
  selector:
    matchLabels:
      app: helloserver
  template:
    metadata:
      labels:
        app: helloserver
    spec:
      containers:
      - image: gcr.io/google-samples/istio/helloserver:v0.0.1
        imagePullPolicy: Always
        name: main
      restartPolicy: Always
      terminationGracePeriodSeconds: 5
apiVersion: v1
kind: Service
metadata:
  name: hellosvc
spec:
  ports:
  - name: http
    port: 80
    targetPort: 8080
  selector:
    app: helloserver
  type: LoadBalancer

Après avoir déployé vos services sur un cluster avec Cloud Service Mesh, veillez à injecter des proxys side-car.

Étape suivante