1.3. 웹 콘솔을 사용하여 설치
다음 섹션에서는 웹 콘솔을 사용하여 Loki Operator 및 Red Hat OpenShift Logging Operator를 설치하는 방법을 설명합니다.
1.3.1. 웹 콘솔을 사용하여 Loki Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 웹 콘솔을 사용하여 OperatorHub에서 로그 저장소 Loki 를 관리하려면 OpenShift Container Platform 클러스터에 Loki를 설치합니다. Loki Operator와 함께 resource Loki Stack을 조정하여 Loki 로그 저장소를 배포하고 구성할 수 있습니다.
사전 요구 사항
- 관리자 권한이 있습니다.
- OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
- 지원되는 오브젝트 저장소(AWS S3, Google Cloud Storage, Azure, Swift, Minio, OpenShift Data Foundation)에 액세스할 수 있습니다.
프로세스
-
OpenShift Container Platform 웹 콘솔 관리자 화면에서 Operator
OperatorHub 로 이동합니다. 키워드로 필터링 필드에 Loki Operator를 입력합니다. 사용 가능한 Operator 목록에서 Loki Operator 를 클릭한 다음 설치를 클릭합니다.
중요Community Loki Operator는 Red Hat에서 지원하지 않습니다.
stable-x.y 를 업데이트 채널로 선택합니다.
Loki Operator는 글로벌 Operator 그룹 네임스페이스
openshift-operators-redhat에 배포되어야 하므로 설치 모드 및 설치된 네임스페이스 가 이미 선택되어 있습니다. 이 네임스페이스가 아직 없는 경우 이를 위해 생성됩니다.이 네임스페이스에서 Operator 권장 클러스터 모니터링 사용을 선택합니다.
이 옵션은
Namespace오브젝트에서openshift.io/cluster-monitoring: "true"라벨을 설정합니다. 클러스터 모니터링이openshift-operators-redhat네임스페이스를 스크랩하도록 하려면 이 옵션을 선택해야 합니다.업데이트 승인의 경우 자동 을 선택한 다음 설치를 클릭합니다.
서브스크립션의 승인 전략이 자동으로 설정된 경우 선택한 채널에서 새 Operator 버전을 사용할 수 있는 즉시 업데이트 프로세스가 시작됩니다. 승인 전략이 수동으로 설정된 경우 보류 중인 업데이트를 수동으로 승인해야 합니다.
참고Operator는 설치가 완료되기 전에
실패상태를 표시할 수 있습니다. Operator 설치가InstallSucceeded메시지와 함께 완료되면 페이지를 새로 고칩니다.Operator가 설치하는 동안 로그 저장소를 배포할 네임스페이스를 생성합니다.
- 화면 오른쪽 상단에서 + 를 클릭하여 YAML 가져오기 페이지에 액세스합니다.
openshift-logging네임스페이스에 대한 YAML 정의를 추가합니다.네임스페이스오브젝트의 예apiVersion: v1 kind: Namespace metadata: name: openshift-logging1 labels: openshift.io/cluster-monitoring: "true"2 - 생성을 클릭합니다.
인증 정보를 사용하여 보안을 생성하여 오브젝트 스토리지에 액세스합니다.
- 화면 오른쪽 상단에서 + 를 클릭하여 YAML 가져오기 페이지에 액세스합니다.
보안에 대한 YAML 정의를 추가합니다. 예를 들어 AWS(Amazon Web Services) s3에 액세스할 시크릿을 생성합니다.
Secret오브젝트의 예apiVersion: v1 kind: Secret metadata: name: logging-loki-s31 namespace: openshift-logging2 stringData:3 access_key_id: <access_key_id> access_key_secret: <access_key> bucketnames: s3-bucket-name endpoint: https://s3.eu-central-1.amazonaws.com region: eu-central-1중요s3 버킷 또는 LokiStack 사용자 정의 리소스(CR)에 정의된 보존 기간이 없으면 로그가 정리되지 않고 s3 스토리지를 채울 수 있습니다.
- 생성을 클릭합니다.
- 설치된 Operator 페이지로 이동합니다. Provided API 에서 Loki Operator를 선택하고 LokiStack 리소스를 찾은 후 Create Instance 를 클릭합니다.
YAML 보기를 선택한 다음 다음 템플릿을 사용하여
LokiStackCR을 생성합니다.LokiStackCR의 예apiVersion: loki.grafana.com/v1 kind: LokiStack metadata: name: logging-loki1 namespace: openshift-logging2 spec: size: 1x.small3 storage: schemas: - version: v13 effectiveDate: "<yyyy>-<mm>-<dd>" secret: name: logging-loki-s34 type: s35 storageClassName: <storage_class_name>6 tenants: mode: openshift-logging7 - 1
logging-loki라는 이름을 사용합니다.- 2
openshift-logging을 네임스페이스로 지정해야 합니다.- 3
- 배포 크기를 지정합니다. Loki의 프로덕션 인스턴스에 지원되는 크기 옵션은
1x.extra-windows ,1x.windows 또는1x.medium입니다. 또한 1x.pico는 로깅 6.1부터 지원됩니다. - 4
- 로그 저장소 시크릿의 이름을 지정합니다.
- 5
- 해당 스토리지 유형을 지정합니다.
- 6
- 임시 스토리지의 스토리지 클래스 이름을 지정합니다. 최상의 성능을 위해서는 블록 스토리지를 할당하는 스토리지 클래스를 지정합니다.
oc get storageclasses명령을 사용하여 클러스터에 사용 가능한 스토리지 클래스를 나열할 수 있습니다. - 7
openshift-logging모드는 감사, 인프라 및 애플리케이션과 같은 로그 유형에 대해 테넌트가 생성되는 기본 테넌시 모드입니다. 이를 통해 개별 사용자 및 사용자 그룹에 대한 액세스 제어를 다른 로그 스트림에 사용할 수 있습니다.
- 생성을 클릭합니다.
검증
-
LokiStack 탭에
LokiStack인스턴스가 표시됩니다. -
Status (상태) 열에서
Condition: Readywith a green checkmark 메시지가 표시되는지 확인합니다.
1.3.2. 웹 콘솔을 사용하여 Red Hat OpenShift Logging Operator 설치 링크 복사링크가 클립보드에 복사되었습니다!
OpenShift Container Platform 웹 콘솔을 사용하여 OpenShift Container Platform 클러스터에 Red Hat OpenShift Logging Operator를 설치하여 OperatorHub에서 로그 저장소로 로그를 수집하고 전달합니다.
사전 요구 사항
- 관리자 권한이 있습니다.
- OpenShift Container Platform 웹 콘솔에 액세스할 수 있습니다.
- Loki Operator를 설치 및 구성했습니다.
프로세스
-
OpenShift Container Platform 웹 콘솔 관리자 화면에서 Operator
OperatorHub 로 이동합니다. - 키워드로 필터링 필드에 Red Hat OpenShift Logging Operator를 입력합니다. 사용 가능한 Operator 목록에서 Red Hat OpenShift Logging Operator 를 클릭한 다음 설치를 클릭합니다.
stable-x.y 를 업데이트 채널로 선택합니다. 최신 버전은 이미 버전 필드에서 선택되어 있습니다.
Red Hat OpenShift Logging Operator는 로깅 네임스페이스
openshift-logging에 배포해야 하므로 설치 모드 및 설치된 네임스페이스 가 이미 선택되어 있습니다. 이 네임스페이스가 아직 없는 경우 이를 위해 생성됩니다.이 네임스페이스에서 Operator 권장 클러스터 모니터링 사용을 선택합니다.
이 옵션은
Namespace오브젝트에서openshift.io/cluster-monitoring: "true"라벨을 설정합니다. 클러스터 모니터링이openshift-logging네임스페이스를 스크랩하도록 하려면 이 옵션을 선택해야 합니다.업데이트 승인의 경우 자동 을 선택한 다음 설치를 클릭합니다.
서브스크립션의 승인 전략이 자동으로 설정된 경우 선택한 채널에서 새 Operator 버전을 사용할 수 있는 즉시 업데이트 프로세스가 시작됩니다. 승인 전략이 수동으로 설정된 경우 보류 중인 업데이트를 수동으로 승인해야 합니다.
참고Operator는 설치가 완료되기 전에
실패상태를 표시할 수 있습니다. Operator 설치가InstallSucceeded메시지와 함께 완료되면 페이지를 새로 고칩니다.Operator가 설치하는 동안 로그 수집기에서 로그를 수집하는 데 사용할 서비스 계정을 만듭니다.
- 화면 오른쪽 상단에 있는 + 를 클릭하여 YAML 가져오기 페이지에 액세스합니다.
서비스 계정에 대한 YAML 정의를 입력합니다.
ServiceAccount오브젝트의 예apiVersion: v1 kind: ServiceAccount metadata: name: logging-collector1 namespace: openshift-logging2 - 생성 버튼을 클릭합니다.
수집하려는 로그에 액세스하고 로그 저장소(예: 인프라 및 애플리케이션 로그)를 작성하는 데 필요한 권한을 로그 수집기에 부여하려면
ClusterRoleBinding오브젝트를 만듭니다.- 화면 오른쪽 상단에 있는 + 를 클릭하여 YAML 가져오기 페이지에 액세스합니다.
ClusterRoleBinding리소스의 YAML 정의를 입력합니다.ClusterRoleBinding리소스의 예apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: logging-collector:write-logs roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: logging-collector-logs-writer1 subjects: - kind: ServiceAccount name: logging-collector namespace: openshift-logging --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: logging-collector:collect-application roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: collect-application-logs2 subjects: - kind: ServiceAccount name: logging-collector namespace: openshift-logging --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: logging-collector:collect-infrastructure roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: collect-infrastructure-logs3 subjects: - kind: ServiceAccount name: logging-collector namespace: openshift-logging- 생성 버튼을 클릭합니다.
-
Operator
설치된 Operator 페이지로 이동합니다. Operator를 선택하고 All instances 탭을 클릭합니다. - 서비스 계정에 필요한 권한을 부여한 후 Installed Operators 페이지로 이동합니다. 제공된 API에서 Red Hat OpenShift Logging Operator를 선택하고 ClusterLogForwarder 리소스를 찾은 후 Create Instance 를 클릭합니다.
YAML 보기를 선택한 다음 다음 템플릿을 사용하여
ClusterLogForwarderCR을 생성합니다.ClusterLogForwarderCR의 예apiVersion: observability.openshift.io/v1 kind: ClusterLogForwarder metadata: name: instance namespace: openshift-logging1 spec: serviceAccount: name: logging-collector2 outputs: - name: lokistack-out type: lokiStack3 lokiStack: target:4 name: logging-loki namespace: openshift-logging authentication: token: from: serviceAccount tls: ca: key: service-ca.crt configMapName: openshift-service-ca.crt pipelines: - name: infra-app-logs inputRefs:5 - application - infrastructure outputRefs: - lokistack-out- 생성을 클릭합니다.
검증
-
ClusterLogForwarder 탭에서
ClusterLogForwarder인스턴스가 표시되는지 확인합니다. 상태 열에서 메시지가 표시되는지 확인합니다.
-
condition: observability.openshift.io/Authorized -
observability.openshift.io/Valid, Ready
-