Dienste bereitstellen

Die Bereitstellung von Diensten in Clustern mit Cloud Service Mesh funktioniert fast genauso wie die Bereitstellung 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. An alle Bereitstellungen sollte ein Kubernetes-Dienst angehängt sein.

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

  • Kennzeichnen Sie Ihre Deployments mit Labels. Auf diese Weise können Sie Features zur Traffic-Verwaltung von Cloud Service Mesh verwenden und den Traffic zwischen Versionen desselben Dienstes aufteilen.

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