Viji
@Viji
Associate DevOps Engineer

Обновляется ли конфигурация для nginx-ingress-controller самостоятельно?

Правильно понимаю, что в большинстве случаев админу кластера не нужно редактить nginx.conf, так как он обновляется автоматически из самого ресурса ingress? Т.е. в правильно сконфигурированном кластере, как только мы добавили новый сервис в систему (например сделали kubectl expose deployment... ), то он подхватывается ingress resource, кот добавляет соответствующую запись в конфигурацию nginx-ingress-controller (например в файл nginx.conf)?

Можете объяснить процесс и что им управляет.
  • Вопрос задан
  • 78 просмотров
Пригласить эксперта
Ответы на вопрос 1
@q2digger
никого не трогаю, починяю примус
понимаете не правильно.
ингресс - отдельный сервис и ему надо говорить о том что появились другие сервисы, которые надо обслуживать. но самому конфиг редактировать не надо, это обычный деплоймент. пример ниже. просто пример, из базового курса про k8s
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  name: nginx-ingress-controller
spec:
  replicas: 1
  revisionHistoryLimit: 3
  template:
    metadata:
      labels:
        app: nginx-ingress-lb
    spec:
      terminationGracePeriodSeconds: 60
      serviceAccount: nginx
      containers:
        - name: nginx-ingress-controller
          image: quay.io/kubernetes-ingress-controller/nginx-ingress-controller:0.9.0
          imagePullPolicy: Always
          readinessProbe:
            httpGet:
              path: /healthz
              port: 10254
              scheme: HTTP
          livenessProbe:
            httpGet:
              path: /healthz
              port: 10254
              scheme: HTTP
            initialDelaySeconds: 10
            timeoutSeconds: 5
          args:
            - /nginx-ingress-controller
            - --default-backend-service=$(POD_NAMESPACE)/default-backend
            - --configmap=$(POD_NAMESPACE)/nginx-ingress-controller-conf
            - --v=2
          env:
            - name: POD_NAME
              valueFrom:
                fieldRef:
                  fieldPath: metadata.name
            - name: POD_NAMESPACE
              valueFrom:
                fieldRef:
                  fieldPath: metadata.namespace
          ports:
            - containerPort: 80
            - containerPort: 18080
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы