Существуют ли какие-либо версии для входа в kubernetes?

#kubernetes #kubernetes-ingress

#kubernetes #kubernetes-вход

Вопрос:

Я хочу знать, существует ли управление версиями для конфигурации входа, аналогичное тому, что мы имеем в развертываниях. Предположим, что есть неправильная конфигурация, которую я хотел бы вернуть к предыдущей конфигурации. Я хотел бы разобраться generation в конфигурации ingress YAML.

 apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  annotations:
    nginx.ingress.kubernetes.io/service-match: 'new-nginx: header("foo", /^bar$/)'           #Canary release rule. In this example, the request header is used.
    nginx.ingress.kubernetes.io/service-weight: 'new-nginx: 50,old-nginx: 50'                #The route weight.
  creationTimestamp: null
  generation: 1
  name: nginx-ingress
  selfLink: /apis/extensions/v1beta1/namespaces/default/ingresses/nginx-ingress
spec:
  rules:                                                        ##The Ingress rule.
  - host: foo.bar.com
    http:
      paths:
      - backend:
          serviceName: new-nginx
          servicePort: 80
        path: /
      - backend:
          serviceName: old-nginx
          servicePort: 80
        path: /
 

Ответ №1:

Kubernetes не предлагает этого изначально, как и инструмент управления, такой как Rancher.

Если вы хотите это сделать, вам нужен инструмент infra-as-code, такой как Terreform, ansible и т. Д. Файлы конфигурации для них могут быть версионированы в репозитории.

Даже без них вы можете самостоятельно экспортировать give ingress yaml и зафиксировать его в репозитории.

Ответ №2:

Немного другой способ взглянуть на решение — вы могли бы использовать GitOps. Я имею в виду, что вы могли бы поместить все свои yaml в репозиторий git, установить ArgoCD в свой кластер, а затем просто позволить ArgoCD выполнить синхронизацию за вас. В тот момент, когда вы поняли, что что-то перепутали в файле yaml, просто отмените фиксацию в репозитории git. Таким образом, вы сохраняете историю и получаете изящное решение, не основанное на мнении.