Dienste bereitstellen

Das Deployment von Diensten für Cluster mit Cloud Service Mesh entspricht in etwa dem Deployment von Diensten in Clustern ohne Cloud Service Mesh. Sie müssen nur einige Änderungen an Ihren Kubernetes-Manifesten vornehmen:

  • Erstellen Sie Kubernetes-Dienste für alle Container. Allen Deployments sollte ein Kubernetes-Dienst zugeordnet sein.

  • Geben Sie einen Namen für die Dienstports an. Mit GKE können Sie unbenannte Dienstports definieren, müssen Sie für Cloud Service Mesh einen Name eines Ports, der mit dem des Ports übereinstimmt Protokoll.

  • Kennzeichnen Sie Ihre Deployments mit Labels. So können Sie Cloud Service Mesh-Traffic verwenden wie die Aufteilung des Traffics auf verschiedene Versionen desselben Service.

Mit dem folgenden Beispiel-Deployment und -Dienst werden diese Anforderungen veranschaulicht:

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

Nachdem Sie Ihre Dienste in einem Cluster mit Cloud Service Mesh bereitgestellt haben, müssen Sie Sidecar-Proxys einfügen.

Nächste Schritte