Como implantar serviços

Implantar serviços em clusters com o Cloud Service Mesh é quase o o mesmo que implantar serviços em clusters sem o Cloud Service Mesh. Mas é preciso fazer algumas alterações nos seus manifestos do Kubernetes:

  • Criar serviços do Kubernetes para todos os contêineres. Todas as implantações precisam ter um serviço do Kubernetes anexado.

  • Nomeie suas portas de serviço. Ainda que o GKE permita definir portas de serviço sem nome, o Cloud Service Mesh exige que você forneça uma nome da porta que corresponde ao protocolo.

  • Rotule suas implantações. Isso permite que você use o tráfego do Cloud Service Mesh recursos de gerenciamento, como a divisão do tráfego entre as versões do mesmo serviço.

O exemplo de implantação e serviço a seguir ilustra esses requisitos:

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

Depois de implantar seus serviços em um cluster com o Cloud Service Mesh, injetar proxies sidecar.

A seguir