Como implantar serviços

Implantar serviços em clusters com o Cloud Service Mesh é quase igual a fazer isso sem essa ferramenta. 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. Embora o GKE permita definir portas de serviço sem nome, o Cloud Service Mesh exige que você forneça um nome para uma porta que corresponda ao protocolo dessa porta.

  • Rotule suas implantações. Isso permite usar os recursos de gerenciamento de tráfego do Cloud Service Mesh, como dividir o tráfego entre 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, injete proxies sidecar.

A seguir