1.6. 로그 수집 및 전달 업그레이드
이제 observability.openshift.io API 그룹의 일부인 새 API 아래에 로그 수집 및 전달 구성이 지정됩니다.
벡터는 지원되는 유일한 수집기 구현입니다.
Red Hat OpenShift Logging Operator를 업그레이드하려면 다음 단계를 따르십시오.
- "클러스터 로깅 변경 및 로깅 6에서 전달"에 나열된 변경 사항을 진행하여 로그 수집 및 전달 구성을 업데이트합니다.
- Red Hat OpenShift Logging Operator를 업데이트합니다.
1.6.1. 클러스터 로깅 및 로깅 6의 전달 변경 링크 복사링크가 클립보드에 복사되었습니다!
이제 observability.openshift.io API 그룹의 일부인 새 API 아래에 로그 수집 및 전달 구성이 지정됩니다. 다음 섹션에서는 이전 API 리소스의 차이점을 설명합니다.
벡터는 지원되는 유일한 수집기 구현입니다.
1.6.1.1. 관리, 리소스 할당 및 워크로드 스케줄링 링크 복사링크가 클립보드에 복사되었습니다!
관리 상태, 리소스 요청 및 제한, 허용 오차 및 노드 선택에 대한 구성이 이제 새로운 ClusterLogForwarder API의 일부입니다.
로깅 5.x 구성
로깅 6 구성
1.6.1.2. 입력 사양 링크 복사링크가 클립보드에 복사되었습니다!
입력 사양은 ClusterLogForwarder 사양의 선택적 부분입니다. 관리자는 사전 정의된 값 애플리케이션,인프라 및 감사를 계속 사용하여 이러한 소스를 수집할 수 있습니다.
네임스페이스 및 컨테이너 포함 및 제외가 단일 필드에 통합되었습니다.
네임스페이스 및 컨테이너가 포함된 5.x 애플리케이션 입력은 포함 및 제외
6.x 네임스페이스 및 컨테이너가 포함된 애플리케이션 입력은 포함 및 제외
"application", "infrastructure", "audit"는 예약어이며 입력을 정의할 때 이름으로 사용할 수 없습니다.
입력 수신자에 대한 변경 사항은 다음과 같습니다.
- 수신기 수준에서 유형의 명시적 구성입니다.
- 포트 설정이 수신자 수준으로 이동했습니다.
5.x 입력 수신자
6.x 입력 수신자
1.6.1.3. 출력 사양 링크 복사링크가 클립보드에 복사되었습니다!
출력 사양에 대한 높은 수준의 변경 사항은 다음과 같습니다.
- URL 설정은 각 출력 유형 사양으로 이동했습니다.
- 튜닝 매개변수는 각 출력 유형 사양으로 이동했습니다.
- TLS 구성을 인증과 분리합니다.
- TLS 및 인증을 위한 키 및 시크릿/구성 맵의 명시적 구성입니다.
1.6.1.4. 보안 및 TLS 구성 링크 복사링크가 클립보드에 복사되었습니다!
보안 및 TLS 구성은 각 출력에 대한 인증 및 TLS 구성으로 구분됩니다. 관리자가 인식된 키로 시크릿을 정의하는 대신 사양에 명시적으로 정의해야 합니다. TLS 및 권한 부여 구성을 업그레이드하려면 관리자가 기존 보안을 계속 사용하려면 이전에 인식된 키를 이해해야 합니다. 이 섹션의 예제에서는 기존 Red Hat 관리 로그 스토리지 솔루션으로 전달하도록 ClusterLogForwarder 시크릿을 구성하는 방법을 설명합니다.
서비스 계정 토큰 및 구성 맵을 사용하여 6.x 출력 구성 기록
시크릿을 사용하여 로깅 6.x 출력 인증 및 TLS 구성
1.6.1.5. 필터 및 파이프라인 구성 링크 복사링크가 클립보드에 복사되었습니다!
이전 릴리스의 파이프라인의 모든 속성이 이 릴리스의 필터로 변환되었습니다. 개별 필터는 필터 사양에 정의되어 파이프라인에서 참조합니다.
5.x 필터
6.x 필터 및 파이프라인 사양
drop,Prune, KubeAPIAudit 필터는 변경되지 않습니다.
1.6.1.6. 검증 및 상태 링크 복사링크가 클립보드에 복사되었습니다!
이제 즉각적인 피드백을 제공하는 리소스가 생성 또는 업데이트되면 대부분의 검증이 적용됩니다. 이는 리소스 상태 위치를 검사해야 하는 모든 유효성 검사가 발생한 이전 릴리스의 전환입니다. 일부 검증은 생성 또는 업데이트 시 수행할 수 없는 경우 post resource creation이 계속 발생합니다.
Operator가 로그 수집기를 배포하기 전에 ClusterLogForwarder.observability.openshift.io 리소스의 인스턴스는 다음 조건을 충족해야 합니다.
- 리소스 상태 조건: Authorized, Valid, Ready
- 사양 검증: 필터, 입력, 출력, 파이프라인
모두 status 값 True 여야 합니다.
1.6.2. Red Hat OpenShift Logging Operator 업데이트 링크 복사링크가 클립보드에 복사되었습니다!
Red Hat OpenShift Logging Operator는 로깅을 구성할 수 있는 다양한 조합으로 인해 Logging 5.x에서 Logging 6.x로 자동 업그레이드를 제공하지 않습니다. 로깅을 별도로 관리하려면 모든 다양한 Operator를 설치해야 합니다.
OpenShift Container Platform 웹 콘솔에서 서브스크립션 채널을 변경하거나 설치 제거하여 Red Hat OpenShift Logging Operator를 업데이트할 수 있습니다. 다음 절차에서는 OpenShift Container Platform 웹 콘솔에서 서브스크립션 채널을 변경하여 Red Hat OpenShift Logging Operator를 업데이트하는 방법을 보여줍니다.
마이그레이션할 때 압축되지 않은 모든 로그는 Vector에 의해 다시 처리됩니다. 재처리로 인해 다음과 같은 문제가 발생할 수 있습니다.
- 마이그레이션 중에 중복된 로그입니다.
- 로그를 수신하는 로그 스토리지의 요청 또는 속도 제한에 도달하는 요청이 너무 많습니다.
- 수집기의 모든 이전 로그를 읽고 처리하므로 디스크 및 성능에 미치는 영향은 다음과 같습니다.
- Kube API에 미치는 영향
- 이전 로그가 모두 처리될 때까지 벡터에서 사용하는 메모리 및 CPU의 최대 순입니다. 로그는 노드당 여러GB일 수 있습니다.
사전 요구 사항
-
observability.openshift.ioAPI로 로그 컬렉션 및 전달 구성을 업데이트했습니다. - 관리자 권한이 있습니다.
- OpenShift Container Platform 웹 콘솔에 액세스하고 관리자 화면을 보고 있습니다.
프로세스
다음 명령을 실행하여 서비스 계정을 생성합니다.
참고이전 로그 전달자가 네임스페이스
openshift-logging및 named인스턴스에배포된 경우 이전 버전의 Operator에서logcollector서비스 계정을 생성했습니다. 이 서비스 계정은 클러스터 로깅을 삭제할 때 제거됩니다. 따라서 새 서비스 계정을 생성해야 합니다. 다른 서비스 계정은 보존되며 로깅 6.x에서 사용할 수 있습니다.oc create sa logging-collector -n openshift-logging
$ oc create sa logging-collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 서비스 계정에 필요한 RBAC 권한을 제공합니다.
Red Hat LokiStack에 로그를 작성할 수 있도록
ClusterRole역할을 서비스 계정에 바인딩oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z logging-collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user logging-collector-logs-writer -z logging-collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 애플리케이션 로그를 수집하고 전달할 수 있는 권한을 할당합니다.
oc adm policy add-cluster-role-to-user collect-application-logs -z logging-collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user collect-application-logs -z logging-collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 감사 로그를 수집하고 전달할 수 있는 권한을 할당합니다.
oc adm policy add-cluster-role-to-user collect-audit-logs -z logging-collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user collect-audit-logs -z logging-collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow 다음 명령을 실행하여 인프라 로그를 수집하고 전달할 수 있는 권한을 할당합니다.
oc adm policy add-cluster-role-to-user collect-infrastructure-log -z logging-collector -n openshift-logging
$ oc adm policy add-cluster-role-to-user collect-infrastructure-log -z logging-collector -n openshift-loggingCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Vector 체크포인트를 새 경로로 이동합니다.
로깅 v5의 벡터 체크포인트는
/var/lib/vector/input*/checkpoints.json경로에 있습니다. 이러한 체크포인트를/var/lib/vector/<namespace>/<clusterlogforwarder cr name>/*경로로 이동합니다. 다음 예제에서는openshift-logging을 네임스페이스로 사용하고수집기를 ClusterForwarder 사용자 정의 리소스 이름으로 사용합니다.ns="openshift-logging" cr="collector" for node in $(oc get nodes -o name); do oc debug $node -- chroot /host /bin/bash -c "mkdir -p /var/lib/vector/$ns/$cr" ; done for node in $(oc get nodes -o name); do oc debug $node -- chroot /host /bin/bash -c "chmod -R 755 /var/lib/vector/$ns" ; done for node in $(oc get nodes -o name); do echo "### $node ###"; oc debug $node -- chroot /host /bin/bash -c "cp -Ra /var/lib/vector/input* /var/lib/vector/$ns/$cr/"; done
$ ns="openshift-logging" $ cr="collector" $ for node in $(oc get nodes -o name); do oc debug $node -- chroot /host /bin/bash -c "mkdir -p /var/lib/vector/$ns/$cr" ; done $ for node in $(oc get nodes -o name); do oc debug $node -- chroot /host /bin/bash -c "chmod -R 755 /var/lib/vector/$ns" ; done $ for node in $(oc get nodes -o name); do echo "### $node ###"; oc debug $node -- chroot /host /bin/bash -c "cp -Ra /var/lib/vector/input* /var/lib/vector/$ns/$cr/"; doneCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenShift Container Platform 웹 콘솔을 사용하여 Red Hat OpenShift Logging Operator를 업데이트합니다.
-
Operators
설치된 Operator로 이동합니다. - openshift-logging 프로젝트를 선택합니다.
- Red Hat OpenShift Logging Operator를 클릭합니다.
- 서브스크립션 을 클릭합니다. 서브스크립션 세부 정보 섹션에서 채널 업데이트 링크를 클릭합니다.
서브스크립션 업데이트 채널 변경 창에서 업데이트 채널, stable-6.x 를 선택하고 저장을 클릭합니다.
cluster-logging.v6.y.z버전을 확인합니다.중요N+2 버전으로만 업데이트합니다. 여기서 N은 현재 버전입니다. 예를 들어 로깅 5.8에서 업그레이드하는 경우 업데이트 채널로
stable-6.0을 선택합니다. 두 개 이상의 최신 버전으로 업데이트하는 것은 지원되지 않습니다.-
몇 초 동안 기다린 다음 Operator
설치된 Operator 로 이동하여 Red Hat OpenShift Logging Operator 버전이 최신 cluster-logging.v6.y.z버전과 일치하는지 확인합니다. Operator
설치된 Operator 페이지에서 Status 필드가 성공으로 표시될 때까지 기다립니다. 기존 Logging v5 리소스는 계속 실행되지만 Operator가 더 이상 관리하지 않습니다. 이러한 관리되지 않는 리소스는 새 리소스를 생성할 준비가 되면 제거할 수 있습니다.
-
Operators