Helm 모니터 플러그인

9234 단어 kubernetes
Helm를 사용하면 Kubernetes 응용 프로그램을 쉽게 배치할 수 있지만 온라인의 응용 프로그램이나 업데이트 후 문제가 발생하면 이전 버전으로 제때에 돌아가려면 어떻게 해야 합니까?물론 우리는 수동으로 kubectl rollout을 통해 제어할 수 있지만 수동으로 조작해야 하는 것은 불가피하다.오늘 여러분께 Helm 플러그인 Helm monitro를 소개합니다. Prometheus나 Elastic Search 모니터링이나 로그 데이터를 감청하여 고장이 났을 때 자동으로 Release를 굴러갑니다.
Helm 명령
helm 명령을 사용하여 release를 업데이트합니다:
$ helm upgrade my-release company-repo/common-chart

롤백이 필요한 경우
$ helm rollback my-release

Helm 플러그인을 설치하려면:
$ helm plugin install https://github.com/repo/name

그런 다음 다음 다음 명령을 사용하여 플러그 인 사용 방법을 확인할 수 있습니다.
$ helm foo --help

Helm 플러그인 파일 구조는 다음과 같습니다.
Helm monitor
Helm Monitor 플러그인을 통해 release 다이어그램을 모니터링합니다.
Helm Monitor 플러그인을 설치하려면:
$ helm plugin install https://github.com/ContainerSolutions/helm-monitor

사용 방법을 보려면 다음과 같이 하십시오.
$ helm monitor --help

    This command monitor a release by querying Prometheus or Elasticsearch at a given interval and take care of rolling back to the previous version if the query return a non-empty result.

    Usage:
        monitor [command]

    Available Commands:
        elasticsearch query an elasticsearch server
        help Help about any command
        prometheus query a prometheus server

지난 5분 동안 5xx 오류율이 0을 초과하면 롤백을 시작합니다.
$ helm monitor prometheus \
--prometheus=http://prometheus \
my-release \
'rate(http_requests_total{code=~"^5.*$"}[5m]) > 0'
--prometheus 매개 변수를 통해prometheus 서버의 주소를 지정해야 합니다. 기본 연결 주소 http://localhost:9090.
ElasticSearch, Lucene Query를 사용하여 500 상태 코드가 발견되면 롤백 작업을 트리거합니다.
$ helm monitor elasticsearch \
--elasticsearch=http://elasticsearch:9200 \
my-release \
'status:500 AND kubernetes.labels.app:app AND version:2.0.0'

마찬가지로 --elasticsearch 매개 변수를 통해 Elasticsearch 그룹의 주소를 지정해야 합니다. 기본 연결 주소는 http://localhost:9200입니다.
물론 하나의 조회DSL 파일을 사용하여 감시할 수도 있다.
$ helm monitor elasticsearch my-release ./elasticsearch-query.json

Prometheus와 Elasticsearch를 사용하여 트리거 롤백을 모니터링하는 것 외에도 Sentry:
$ helm monitor sentry my-app \
    --api-key  \
    --organization sentry \
    --project my-project \
    --sentry http://sentry:9000 \
    --tag release=2.0.0 \
    --regexp
    'Error with database connection.*'

Demo
[exited]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     

01:44
Helm 모니터 플러그인 주소:https://github.com/ContainerSolutions/helm-monitor

좋은 웹페이지 즐겨찾기