Implementa servicios

Implementar objetos Service en clústeres con Anthos Service Mesh es casi la misma que la implementación de objetos Service en clústeres sin Anthos Service Mesh. Necesitas realizar algunos cambios en tus manifiestos de Kubernetes:

  • Crear objetos Service de Kubernetes para todos los contenedores. Todos los objetos Deployment deben tener un objeto Service de Kubernetes conectado.

  • Asigna un nombre a los puertos de los objetos Service. Aunque GKE te permite definir puertos de objetos Service sin nombre, Anthos Service Mesh requiere que proporciones un nombre para un puerto que coincida con el protocolo del puerto.

  • Etiqueta tus objetos Deployment. Esto te permite usar características de administración de tráfico de Anthos Service Mesh, como dividir el tráfico entre versiones del mismo servicio.

En el siguiente ejemplo, los objetos Deployment y Service ilustran estos 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

Después de implementar los objetos Service en un clúster con Anthos Service Mesh, asegúrate de inyectar proxies de sidecar.

¿Qué sigue?