Чтобы установить в кластер Ingress-контроллер, можно взять готовый манифест:
# Секция, описывающая параметры NGINX Ingress controller.
# https://deckhouse.ru/documentation/v1/modules/402-ingress-nginx/cr.html
apiVersion: deckhouse.io/v1
kind: IngressNginxController
metadata:
name: nginx
spec:
ingressClass: nginx
# Способ поступления трафика из внешнего мира.
inlet: HostPort
hostPort:
httpPort: 80
httpsPort: 443
# Описывает, на каких узлах будет находиться Ingress-контроллер.
# Возможно, захотите изменить.
nodeSelector:
node-role.kubernetes.io/control-plane: ""
tolerations:
- operator: Exists
Однако в нашем случае и на master-, и на системной группе узлов есть taint’ы, поэтому мы изменим манифест в секциях nodeSelector
и tolerations
:
Сохраним манифест в файл ingres.yml
и применим его:
Как видим, Ingress-контроллер создан. Kruise-controller-manager запускается при добавлении узла в кластер или при снятии taint’а, а controller-nginx — после применения манифеста ingress-nginx-controller.