Como implantar serviços

A implantação de serviços em clusters com o Cloud Service Mesh é quase igual à implantação de 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. Embora o GKE permita que você defina portas de serviço sem nome, o Cloud Service Mesh exige que você forneça um nome para uma porta que corresponda ao protocolo da porta.

  • Rotule suas implantações. Isso permite usar 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 os serviços em um cluster com o Cloud Service Mesh, injete proxies de arquivo secundário.

A seguir