Déployer des services

Le déploiement de services sur des clusters avec Cloud Service Mesh est presque identique au déploiement de 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 Tous les déploiements doivent être associés à un service Kubernetes.

  • Attribuez un nom à vos ports de service. Bien que GKE vous permette de définir des ports de service sans nom, Cloud Service Mesh nécessite que vous fournissiez un nom pour un port qui correspond au protocole du port.

  • Étiquetez vos déploiements. Cela vous permet d'utiliser les fonctionnalités de gestion du trafic de Cloud Service Mesh, telles que la répartition du trafic entre les versions d'un même service.

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.

Étapes suivantes