2.4. Fuse Online에서 중요한 참고 사항
Fuse Online 배포의 Fuse 7.12 릴리스에 대한 중요 참고 사항:
- Fuse 7은 현재 유지 관리 지원에 포함되어 있으므로 Fuse Online에 대한 지원이 더 이상 사용되지 않습니다. Fuse 7이 지원되지 않는 경우에는 Fuse Online에 대한 향후 개발이 이루어지지 않을 것입니다.
- Fuse Online 설치는 OCP 3.11에서 더 이상 지원되지 않습니다.
- Fuse Online에서는 더 이상 Camel K 런타임 또는 KNative 커넥터를 지원하지 않습니다.
- Red Hat 인프라에 Fuse Online을 설치하고 프로비저닝하면 이 계정은 한 번에 실행할 수 있는 특정 통합 수로 제한됩니다. 자세한 내용은 가격 계획을 참조하십시오.
- Fuse Online에 업로드하는 OpenAPI 스키마는 입력/출력 유형을 정의하지 못할 수 있습니다. Fuse Online에서 입력/출력 유형을 지정하지 않는 OpenAPI 스키마에서 사용자 지정 API 클라이언트를 생성하는 경우 API 클라이언트가 처리할 수 있는 필드 또는 API 클라이언트가 처리할 수 있는 필드에 통합 데이터를 매핑하는 통합을 생성할 수 없습니다. 통합에 사용자 지정 API로의 데이터 매핑이 필요한 경우 OpenAPI 스키마를 업로드할 때 검토/편집 을 클릭하여 API 편집 툴인 API Builder를 열고 입력/출력 유형 사양을 추가합니다.
- Fuse 7.8 이후 사용자 정의 API 클라이언트 커넥터 또는 API 공급자 통합에 사용하는 OpenAPI 문서에는 cyclic 스키마 참조가 있을 수 없습니다. 예를 들어 요청 또는 응답 본문을 지정하는 JSON 스키마는 자체적으로 전체로 참조하거나 여러 중간 스키마를 통해 자체의 일부를 참조할 수 없습니다.
OCP 4.9 이상에서는
application-monitoring프로젝트가 더 이상 작동하지 않습니다. 이는 Prometheus 및 Grafana를 사용하여 Fuse Online 통합 및 인프라 구성 요소를 모니터링하기 위한 전제 조건입니다.이 문제를 해결하려면 기본 제공 모니터링 스택(
openshift-monitoring 네임스페이스)을 사용하여openshift-user-workload-monitoring기능과grafana-operator를 사용하여 OCP 4.9 이상에서 Fuse Online 모니터링 리소스 추가(Prometheus 및 Grafana) 절차에 설명된 대로ops addon을 사용할 수 있습니다.
2.4.1. OCP 4.9 이상에서 Fuse 온라인 모니터링 리소스(Prometheus 및 Grafana) 추가
사전 요구 사항
- Fuse Online은 OCP 4.9 이상에서 현장 설치 및 실행됩니다.
-
oc클라이언트 툴이 설치되고 Fuse Online이 설치된 OCP 클러스터에 연결됩니다. -
OCP 클러스터에 대한
관리자액세스 권한이 있습니다. Fuse Online 설치는
ops addon이 활성화된 상태로 구성됩니다. 필요한 경우 다음 명령을 사용하여 활성화할 수 있습니다.oc patch syndesis/app --type=merge -p '{"spec": {"addons": {"ops": {"enabled": true}}}}'
절차
기존
openshift-monitoring구성이 있는 경우 2단계로 건너뜁니다.그러지 않으면 사용자 워크로드 모니터링 옵션을
true로 설정한 다음 3단계로 건너뛰는openshift-monitoring구성을 생성합니다.oc apply -f - <<EOF apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: enableUserWorkload: true EOF
기존
openshift-monitoring구성이 있는 경우:기존
openshift-monitoring구성을 확인하여 사용자 워크로드 모니터링 옵션이 true 로 설정되어 있는지 확인합니다.oc get -n openshift-monitoring cm/cluster-monitoring-config -ojsonpath='{.data.config\.yaml}'결과가
enableUserWorkload: true인 경우 사용자 워크로드 모니터링 옵션이 true 로 설정됩니다. 3단계로 건너뜁니다.결과에 다른 구성이 표시되면 다음 단계로 이동하여 ConfigMap을 편집하여 사용자 워크로드 모니터링을 활성화합니다.
편집기에서 ConfigMap 파일을 엽니다. 예를 들면 다음과 같습니다.
oc -n openshift-monitoring edit cm/cluster-monitoring-config
enableUserWorkload 를 true 로 설정합니다. 예를 들면 다음과 같습니다.
apiVersion: v1 kind: ConfigMap metadata: name: cluster-monitoring-config namespace: openshift-monitoring data: config.yaml: enableUserWorkload: true
- ConfigMap 파일을 저장합니다.
다음 명령을 사용하여
openshift-user-workload-monitoring네임스페이스에서 Pod의 상태를 확인합니다.oc -n openshift-user-workload-monitoring get pods -w
Pod 상태가 Running이 될 때까지 기다립니다. 예를 들면 다음과 같습니다.
prometheus-operator-5d989f48fd-2qbzd 2/2 Running prometheus-user-workload-0 5/5 Running prometheus-user-workload-1 5/5 Running thanos-ruler-user-workload-0 3/3 Running thanos-ruler-user-workload-1 3/3 Running
Prometheus에서 Fuse Online 경고 규칙이 활성화되어 있는지 확인합니다.
내부 prometheus 인스턴스에 액세스
oc port-forward -n openshift-user-workload-monitoring pod/prometheus-user-workload-0 9090
-
localhost:9090으로 브라우저를 엽니다. -
상태> 대상 을 선택합니다. 세 가지 개요 끝점
이표시되어야 합니다. -
CTRL-C 를 눌러
port-forward프로세스를 종료합니다.
-
OperatorHub에서 Grafana Operator 4.1.0을 선택한 네임스페이스에 설치합니다(예:
grafana-middleware네임스페이스). grafana-operator에서 노드 및 네임스페이스를 나열할 수 있도록 클러스터 역할 및 클러스터 역할 바인딩을 추가합니다.grafana-operator웹 사이트에서 클러스터 역할 YAML 파일을 다운로드합니다.curl https://raw.githubusercontent.com/grafana-operator/grafana-operator/master/deploy/cluster_roles/cluster_role_grafana_operator.yaml > tmp_role.yaml
grafana-operator에 대한 클러스터 권한을 추가하여 다른 네임스페이스 및 노드를 읽습니다.cat <<EOF >> tmp_role.yaml - apiGroups: - "" resources: - namespaces - nodes verbs: - get - list - watch EOFoc apply -f tmp_role.yaml
oc apply -f - <<EOF apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: grafana-operator roleRef: name: grafana-operator kind: ClusterRole apiGroup: "" subjects: - kind: ServiceAccount name: grafana-operator-controller-manager namespace: grafana-middleware EOF
grafana-operator를 활성화하여 네임스페이스를 제한하려면DASHBOARD_NAMESPACES_ALL환경 변수를 사용하여 다른 네임스페이스의 Grafana 대시보드를 읽습니다.oc -n grafana-middleware patch subs/grafana-operator --type=merge -p '{"spec":{"config":{"env":[{"name":"DASHBOARD_NAMESPACES_ALL","value":"true"}]}}}'grafanaPod가 다시 생성되었는지 확인합니다.oc -n grafana-middleware get pods -w
필요한 경우
grafana-operator로그를 확인합니다.oc -n grafana-middleware logs -f `oc -n grafana-middleware get pods -oname|grep grafana-operator-controller-manager` -c manager
Grafana 사용자 지정 리소스 를 추가하여 Grafana 서버 Pod를 시작합니다. 예를 들면 다음과 같습니다.
oc apply -f - <<EOF apiVersion: integreatly.org/v1alpha1 kind: Grafana metadata: name: grafana-middleware namespace: grafana-middleware spec: config: auth: disable_signout_menu: true auth.anonymous: enabled: true log: level: warn mode: console security: admin_password: secret admin_user: root dashboardLabelSelector: - matchExpressions: - key: app operator: In values: - grafana - syndesis ingress: enabled: true EOFgrafana-operator가 모니터링 정보를 읽을 수 있도록 허용합니다.oc -n grafana-middleware adm policy add-cluster-role-to-user cluster-monitoring-view -z grafana-serviceaccount
query
thanos-querier:에GrafanaDatasource를 추가합니다.oc apply -f - <<EOF apiVersion: integreatly.org/v1alpha1 kind: GrafanaDataSource metadata: name: prometheus-grafanadatasource namespace: grafana-middleware spec: datasources: - access: proxy editable: true isDefault: true jsonData: httpHeaderName1: 'Authorization' timeInterval: 5s tlsSkipVerify: true name: Prometheus secureJsonData: httpHeaderValue1: "Bearer $(oc -n grafana-middleware serviceaccounts get-token grafana-serviceaccount)" type: prometheus url: "https://$(oc get route thanos-querier -n openshift-monitoring -ojsonpath='{.spec.host}')" name: prometheus-grafanadatasource.yaml EOFgrafana 서버 로그를 확인합니다.
oc logs -f `oc get pods -l app=grafana -oname`
grafana URL에 액세스하여 Fuse Online 대시보드를 확인합니다.
echo "https://"$(oc -n grafana-middleware get route/grafana-route -ojsonpath='{.spec.host}')