Реализация проверки готовности и живучести в Azure AKS - PullRequest
0 голосов
/ 17 января 2020

Я пытаюсь следовать этой документации, чтобы включить проверку готовности и работоспособности на моих блоках для проверки работоспособности в моем кластере, однако при попытке соединения с IP-адресом и портом контейнера возникает ошибка. Часть, где я добавил готовность и живучесть, приведена ниже.

Я использую шлем для развертывания, а порт, который я пытаюсь отслеживать, равен 80. Файл службы для входа также указан ниже.

https://docs.microsoft.com/en-us/azure/application-gateway/ingress-controller-add-health-probes

Service.yaml

apiVersion: v1
kind: Service
metadata:
name: expose-portal 
annotations:
service.beta.kubernetes.io/azure-load-balancer-internal: "{{ .Values.isInternal }}"
spec:
type: LoadBalancer
ports:
- port: 80
selector:
app: portal

Deployment.yaml

    spec:
  containers:
  - name: App-server-portal
    image: myacr-app-image-:{{ .Values.image_tag }}
    imagePullPolicy: Always      
    ports:
    - name: http
      containerPort: 80
      protocol: TCP
    readinessProbe:
      httpGet:
        path: /
        port: 80
      periodSeconds: 3
      timeoutSeconds: 1
    livenessProbe:
      httpGet:
        path: /
        port: 80
      periodSeconds: 3
      timeoutSeconds: 1
    volumeMounts:
    - mountPath: /etc/nginx
      readOnly: true
      name: mynewsite
  imagePullSecrets:
  - name: my-secret
  volumes:
  - name: mynewsite.conf
    configMap:
      name: mynewsite.conf
      items:
      - key: mynewsite.conf
        path: mynewsite.conf

Я что-то здесь не так делаю. В соответствии с документацией azure на сегодняшний день зондирование порта, отличного от открытого на модуле, в настоящее время не поддерживается. Насколько я понимаю, порт 80 на моем модуле уже открыт.

1 Ответ

1 голос
/ 22 января 2020

взято из документов:

  1. initialDelaySeconds: количество секунд после запуска контейнера, прежде чем будут запущены датчики живучести или готовности. По умолчанию 0 секунд. Минимальное значение равно 0.
  2. periodSeconds: как часто (в секундах) выполнять проверку. По умолчанию 10 секунд. Минимальное значение: 1.
  3. timeoutSeconds: количество секунд, по истечении которых время ожидания датчика По умолчанию 1 секунда. Минимальное значение: 1.

https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/#configure -зонды

Решением было увеличение времени ожидания.

PS. Я думаю, что вам может потребоваться ввести initialDelaySeconds вместо увеличения времени ожидания до 3 минут

...