פריסת שירותים

פריסת שירותים באשכולות באמצעות Cloud Service Mesh דומה מאוד לפריסת שירותים באשכולות בלי Cloud Service Mesh. צריך לבצע כמה שינויים במניפסטים של Kubernetes:

  • יצירה של שירותי Kubernetes לכל הקונטיינרים. לכל פריסה צריך להיות מצורף שירות Kubernetes.

  • נותנים שם להעברות השירות. למרות ש-GKE מאפשר להגדיר יציאות של שירות ללא שם, ב-Cloud Service Mesh צריך לספק שם ליציאה שתואם לפרוטוקול של היציאה.

  • הוספת תוויות לפריסות. כך תוכלו להשתמש בתכונות של Cloud Service Mesh לניהול תעבורה, כמו פיצול תעבורה בין גרסאות של אותו שירות.

בדוגמה הבאה של Deployment ו-Service אפשר לראות איך הדרישות האלה באות לידי ביטוי:

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

אחרי פריסת השירותים באשכול עם Cloud Service Mesh, חשוב להוסיף פרוקסי מסוג sidecar.