OpenShift Metrics-Server 배포 > OpenShift 자료실

본문 바로가기

사이트 내 전체검색

뒤로가기 OpenShift 자료실

OpenShift Metrics-Server 배포

페이지 정보

작성자 PaaSM 작성일 21-01-29 15:23 조회 6,004 댓글 0

본문

안녕하세요.

Horizontal Pod Autoscaler에 대해서 알아보려고 합니다.
OpenShift 에서 Horizontal Pod Autoscaler(HPA)를 이용하여 설정한 CPU 사용률 기반으로 Replicaset, Deployment 의 Pod 수를 자동으로 Scaling 할 수 있습니다.
Horizontal Pod Autoscaler는 크기를 조정할 수 없는 오브젝트(예: 데몬셋(DaemonSet))에는 적용되지 않습니다.

HPA를 하기 위해서는 Pod의 부하에 대해 모니터링및 수집을 하는 Metrics-Server가 필요합니다.
기본적으로 OKD 설치 시 사용되는 Ansible 스크립트에는 Metrics Server 설치가 Flase 설정되어 있으므로, 설치 시 옵션값을 변경하거나, 수동으로 설치해야합니다.

OpenShift에 Metrcis-Server를 배포하는 방법에 대해 소개하겠습니다.

* Metrics의 데이터를 저장하기 위해 Pod의 볼륨 또는 Persistent Volume을 생성해야 합니다.

1. Metrcis storage 준비
 1) 마운트할 디렉토리 생성
 $ mkdir /exports

 2) nfs 설정
 $ vi /etc/exports
 /exports *(rw,no_root_squash)

 3) nfs 서비스 활성화
 $ systemctl restart nfs-server
 $ exportfs

2. Persistent Volume 생성
 1) pv 생성
 $ cat pv.yml
apiVersion: v1
kind: PersistentVolume
metadata:
  creationTimestamp: null
  finalizers:
  - kubernetes.io/pv-protection
  labels:
    storage: metrics
  name: metrcis-canssandra
  namespace: "openshift-infra"
spec:
  accessModes:
  - ReadWriteOnce
  capacity:
    storage: 30Gi
  nfs:
    path: /exports/metrics
    server: 192.168.50.100
  persistentVolumeReclaimPolicy: Retain
status: {}
 
 2) pvc 생성
 $ cat pvc.yml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  annotations:
    pv.kubernetes.io/bind-completed: "yes"
    pv.kubernetes.io/bound-by-controller: "yes"
  creationTimestamp: null
  finalizers:
  - kubernetes.io/pvc-protection
  labels:
    storage: metrics
  namespace: "openshift-infra"
spec:
  accessModes:
  - ReadWriteOnce
  resources:
    requests:
      storage: 30Gi
    selector:
      matchLabels:
        project: openshift-infra
  volumeName: metrics-cassandra-1
status: {}

3. Ansible 인벤토리 설정
...
# Cluster Metrics
openshift_metrics_install_metrics=true
openshift_metrics_cassandra_nodeselector={'node-role.kubernetes.io/infra': 'true'}
openshift_metrics_hawkular_nodeselector={'node-role.kubernetes.io/infra': 'true'}
openshift_metrics_heapster_nodeselector={'node-role.kubernetes.io/infra': 'true'}
openshift_metrics_install_hawkular_agent=true
openshift_metrics_server_install=true

# Metrics NFS
openshift_metrics_storage_labels={'storage': 'metrics'}
openshift_metrics_storage_kind=nfs
openshift_metrics_storage_access_modes=['ReadWriteOnce']
openshift_metrics_storage_host=192.168.211.147
openshift_metrics_storage_nfs_directory=/exports
openshift_metrics_storage_volume_name=metrics
openshift_metrics_storage_volume_size=50Gi
...

4. Playbook 실행
$ ansible-playbook -i </path/inventory> /usr/share/ansible/openshift-ansible/playbooks/openshift-logging/config.yml -vv

참고 URL
https://docs.okd.io/3.11/install_config/cluster_metrics.html

댓글목록 0

등록된 댓글이 없습니다.

Copyright © 소유하신 도메인. All rights reserved.

사이트 정보

회사명 : (주)리눅스데이타시스템 / 대표 : 정정모
서울본사 : 서울특별시 강남구 봉은사로 114길 40 홍선빌딩 2층 / tel : 02-6207-1160
대전지사 : 대전광역시 유성구 노은로174 도원프라자 5층 / tel : 042-331-1161

PC 버전으로 보기