Short intro: here you can find a solution for the error with the latest OIG on OCI version (OIG 12.2.1.4 V10) which occurs due to changes in NGINX controller…
Недавно при
разворачивании OIG V10 (на текущий момент последняя версия) на
OCI я столкнулся с
ошибкой, симптомы которой – при обращении к IP Load Balancer’а не найдены все URL типа /console, /identity, /em и прочие, ошибка в браузере выглядит как 404 File not Found (nginx). Ошибка оказалась связана с последними изменениями в NGINX, в результате которых не сработали скрипты. Кстати, предыдущая V9 не будет работать из-за несовместимости версий менеджера
пакетов Kubernetes Helm Chart и самой платформы Kubernetes, так что сейчас нужно использовать именно V10. Найденное решение (спасибо Игорю Минееву) – под катом,
может кому поможет.
На поде где поднят nginx loadbalancer смотрим логи
> kubectl logs -n nginx
nginx-ingress-ingress-nginx-controller-6747cc9cc5-nwlq8
Находим, ошибку
Смотрим на нашу
конфигурацию:
kubectl get ing -n oigcluster -o yaml ---- находим устаревший синтаксис
Редактируем файл
nginx-ingress.yaml в каталоге /home/opc/idmcli/operator/operator/kubernetes/samples/charts/ingress-per-domain/templates
# Copyright 2018, 2019, Oracle Corporation and/or its
affiliates. All rights reserved.
# Licensed under the Universal Permissive License v 1.0 as
shown at http://oss.oracle.com/licenses/upl.
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: {{
.Values.wlsDomain.domainUID }}-nginx
namespace: {{
.Release.Namespace }}
labels:
weblogic.resourceVersion: domain-v2
annotations:
kubernetes.io/ingress.class:
"nginx"
{{- if eq .Values.tls "SSL" }}
annotations:
kubernetes.io/ingress.class: "nginx"
nginx.ingress.kubernetes.io/proxy-buffer-size: "2000k"
nginx.ingress.kubernetes.io/configuration-snippet: |
more_set_input_headers "X-Forwarded-Proto: https";
more_set_input_headers "WL-Proxy-SSL: true";
nginx.ingress.kubernetes.io/ingress.allow-http: "false"
{{- end }}
spec:
rules:
- http:
paths:
- path:
/console
pathType:
ImplementationSpecific
backend:
service:
name: '{{
.Values.wlsDomain.domainUID }}-{{ .Values.wlsDomain.adminServerName | lower |
replace "_" "-" }}'
port:
number:
{{ .Values.wlsDomain.adminServerPort }}
- path: /em
pathType:
ImplementationSpecific
backend:
service:
name: '{{
.Values.wlsDomain.domainUID }}-{{ .Values.wlsDomain.adminServerName | lower |
replace "_" "-" }}'
port:
number: {{
.Values.wlsDomain.adminServerPort }}
- path: /soa
pathType:
ImplementationSpecific
backend:
service:
name: '{{
.Values.wlsDomain.domainUID }}-cluster-{{ .Values.wlsDomain.soaClusterName |
lower | replace "_" "-"
}}'
port:
number:
{{ .Values.wlsDomain.soaManagedServerPort }}
- path:
/integration
pathType:
ImplementationSpecific
backend:
service:
name: '{{
.Values.wlsDomain.domainUID }}-cluster-{{ .Values.wlsDomain.soaClusterName |
lower | replace "_" "-"
}}'
port:
number: {{
.Values.wlsDomain.soaManagedServerPort }}
- path:
/soa-infra
pathType:
ImplementationSpecific
backend:
service:
name: '{{
.Values.wlsDomain.domainUID }}-cluster-{{ .Values.wlsDomain.soaClusterName |
lower | replace "_" "-"
}}'
port:
number:
{{ .Values.wlsDomain.soaManagedServerPort }}
- path:
/identity
pathType:
ImplementationSpecific
backend:
service:
name: '{{
.Values.wlsDomain.domainUID }}-cluster-{{ .Values.wlsDomain.oimClusterName |
lower | replace "_" "-"
}}'
port:
number:
{{ .Values.wlsDomain.oimManagedServerPort }}
{{- end }}
Далее
helm delete
oim-ingress -n oigcluster
и
helm install oim-ingress
/home/opc/idmcli/operator/operator/kubernetes/samples/charts/ingress-per-domain
--namespace oigcluster --values
/home/opc/idmcli/operator/operator/kubernetes/samples/charts/ingress-per-domain/values.yaml
--set wlsDomain.domainUID=oigcluster
P.s. напоминаю, что лабораторная работа по разворачиванию OIG на OCI доступна здесь - https://www.easyoraidm.ru/2021/08/oim12cps4-workshop-oracle-identity.html
No comments:
Post a Comment