Deployment dei servizi

Il deployment di servizi nei cluster con Cloud Service Mesh è quasi in modo analogo al deployment di servizi in cluster senza Cloud Service Mesh. Devi apporta alcune modifiche ai manifest Kubernetes:

  • Crea Servizi Kubernetes per tutti i container. Tutti Deployment dovrebbe avere un Servizio Kubernetes collegato.

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

  • Etichetta i tuoi deployment. Ciò ti consente di utilizzare il traffico di Cloud Service Mesh di funzionalità di gestione come la suddivisione del traffico tra versioni completamente gestito di Google Cloud.

Il seguente esempio di Deployment e servizio illustra 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 tuoi servizi in un cluster con Cloud Service Mesh, assicurati di inserisci proxy sidecar.

Passaggi successivi