Deployment dei servizi

Il deployment dei servizi nei cluster con Cloud Service Mesh è quasi identico al deployment dei servizi nei cluster senza Cloud Service Mesh. È necessario però apportare alcune modifiche ai manifest Kubernetes:

  • Crea dei servizi Kubernetes per tutti i container. Tutti i deployment devono avere un servizio Kubernetes collegato.

  • Assegna un nome alle porte del servizio. Sebbene GKE consenta di definire porte di servizio senza nome, Cloud Service Mesh richiede di specificare un nome per una porta che corrisponda al protocollo della porta.

  • Etichetta i deployment. In questo modo puoi utilizzare le funzionalità di gestione del traffico di Cloud Service Mesh, ad esempio la suddivisione del traffico tra le versioni dello stesso servizio.

I seguenti esempi di Deployment e Servizio illustrano questi requisiti:

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

Dopo aver eseguito il deployment dei servizi su un cluster con Cloud Service Mesh, assicurati di inserire i proxy sidecar.

Passaggi successivi