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. Obwohl Sie in GKE unbenannte Dienstports definieren können, müssen Sie bei Cloud Service Mesh einen Namen für einen Port angeben, der mit dem Protokoll des Ports übereinstimmt.

  • Kennzeichnen Sie Ihre Deployments mit Labels. Damit können Sie Features zur Trafficverwaltung von Cloud Service Mesh nutzen, z. B. zum Aufteilen des Traffics zwischen verschiedenen Versionen eines Dienstes.

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