찾다
데이터 베이스MySQL 튜토리얼Prometheus 및 Grafana 모니터링을 사용하여 Kubernetes에서 MySQL 설정

이 튜토리얼에서는 모니터링을 위해 Prometheus와 Grafana를 통합하는 동시에 Kubernetes(K8s) 클러스터에 MySQL을 설정하는 방법을 살펴보겠습니다. MySQL, Prometheus 및 Grafana용 Bitnami Helm 차트를 사용하고 사용자 정의 Grafana 대시보드를 생성하여 MySQL을 모니터링하는 방법을 보여드리겠습니다.

1. 연구실을 위한 네임스페이스 생성

먼저 MySQL 및 모니터링 구성 요소를 배포할 Kubernetes 네임스페이스를 만듭니다.

kubectl create namespace my-lab

네임스페이스 생성을 확인하려면 다음을 실행하세요.

kubectl get namespaces

my-lab이 클러스터의 네임스페이스 중 하나로 나열되어야 합니다.

2. Helm을 사용하여 MySQL 설치

Bitnami Helm 차트를 사용하여 my-lab 네임스페이스에 MySQL을 설치하겠습니다. 아직 Bitnami 차트 저장소를 추가하지 않았다면 다음 명령을 사용하여 추가하세요.

helm repo add bitnami https://charts.bitnami.com/bitnami

이제 다음 명령을 사용하여 MySQL을 설치하세요.

helm upgrade --install mysql bitnami/mysql --namespace my-lab

상태를 확인하고 MySQL이 실행 중인지 확인하려면 다음을 사용하세요.

kubectl get pods --namespace my-lab

MySQL 포드에 액세스

MySQL에 연결하려면 먼저 Kubernetes 보안 비밀에서 MySQL 비밀번호를 검색해야 합니다. 비밀을 얻으려면 다음 명령을 사용하세요:

kubectl get secret -n my-lab

그런 다음 mysql-root-password 및 mysql-password를 다음과 같이 디코딩합니다.

kubectl get secret/mysql -oyaml -n my-lab

base64를 사용하여 비밀번호를 해독할 수 있습니다.

echo <encoded-password> | base64 -d
</encoded-password>

이제 kubectl exec를 사용하여 MySQL 포드에 액세스합니다.

kubectl exec -it mysql-0 --namespace my-lab -- /bin/bash

포드 내부에 들어가면 루트 비밀번호를 사용하여 MySQL에 연결합니다.

mysql -u root -p

메시지가 나타나면 디코딩된 루트 비밀번호를 입력하세요.

데이터베이스 및 일부 테이블 만들기

MySQL에 들어가면 데이터베이스와 모니터링할 테이블을 만듭니다.

create database my_db_1;

use my_db_1;

create table my_table_1 (a varchar(100));
create table my_table_2 (a varchar(100));
create table my_table_3 (a varchar(100));

insert into my_table_1 values('One');
insert into my_table_1 values('One-One');

select * from my_table_1;

3. 프로메테우스와 그라파나 설치

다음으로 MySQL 모니터링을 위해 Prometheus와 Grafana를 설치하겠습니다.

Prometheus 및 Grafana 설치

먼저 Prometheus 커뮤니티 Helm 차트를 추가합니다.

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

grafana 네임스페이스 만들기:

kubectl create ns grafana

이제 Helm을 사용하여 Prometheus-Grafana 스택을 설치합니다.

helm upgrade --install grafana prometheus-community/kube-prometheus-stack --namespace grafana

Pod를 확인하여 설치를 확인할 수 있습니다.

kubectl get pods -n grafana

LoadBalancer로 MySQL 노출

Kubernetes 클러스터 외부에서 MySQL에 액세스하려면 LoadBalancer를 사용하여 MySQL 서비스를 노출해야 합니다. MySQL 서비스 편집:

kubectl edit svc/mysql -n my-lab

ClusterIP에서 LoadBalancer로 서비스 유형을 변경합니다.

spec:
  type: LoadBalancer

외부 IP가 할당되었는지 확인하세요.

kubectl get svc -n my-lab

Minikube를 사용하는 경우 minikube 터널을 실행하여 서비스를 외부에 노출해야 할 수도 있습니다.

minikube tunnel

Setting Up MySQL on Kubernetes with Prometheus & Grafana Monitoring

이제 할당된 IP를 사용하여 외부에서 MySQL에 액세스하세요.

kubectl create namespace my-lab

4. Prometheus MySQL 내보내기 설치

MySQL 측정항목을 수집하고 Prometheus에서 스크랩할 수 있도록 노출하려면 MySQL 내보내기 도구를 설치해야 합니다.

내보내기 구성 생성

MySQL 연결 세부정보가 포함된 mysql-exporter-values.yaml 파일을 만듭니다.

kubectl get namespaces

이제 Helm을 사용하여 MySQL 내보내기 도구를 설치하세요.

helm repo add bitnami https://charts.bitnami.com/bitnami

포트 포워드 Prometheus MySQL 내보내기 프로그램

테스트를 위해 MySQL 내보내기 측정항목을 로컬 시스템에 전달하려면 다음을 사용하세요.

helm upgrade --install mysql bitnami/mysql --namespace my-lab

http://localhost:9104/metrics를 방문하여 측정항목이 노출되고 있는지 확인하세요.

Setting Up MySQL on Kubernetes with Prometheus & Grafana Monitoring

5. Grafana를 Prometheus에 연결

Prometheus와 MySQL 내보내기 도구가 설정되었으므로 Grafana를 Prometheus에 연결해 보겠습니다.

포트 포워드 그라파나

Grafana 대시보드에 액세스하려면 다음 포트 전달 명령을 실행하세요.

kubectl get pods --namespace my-lab

이렇게 하면 http://localhost:3000에서 Grafana에 액세스할 수 있게 됩니다. 기본 로그인 자격 증명은 다음과 같습니다.

사용자 이름: admin
비밀번호: prom-operator

Setting Up MySQL on Kubernetes with Prometheus & Grafana Monitoring

로그인한 후 Prometheus를 Grafana의 데이터 소스로 추가하세요.

구성으로 이동 > 데이터 소스.
URL이 http://prometheus-operated:9090인 데이터 소스로 Prometheus를 추가합니다.

6. Grafana 대시보드 가져오기

MySQL을 모니터링하기 위해 Grafana의 대시보드 저장소에서 사전 구성된 대시보드를 가져올 수 있습니다.

대시보드 가져오기

대시보드로 이동 > 다음 대시보드 ID를 가져와 입력하세요.

대시보드 ID 14057(MySQL 개요)
대시보드 ID 7362(MySQL 성능)

이러한 대시보드는 연결, 쿼리, 리소스 활용도 등 관련 MySQL 지표를 자동으로 로드하고 표시합니다.

Setting Up MySQL on Kubernetes with Prometheus & Grafana Monitoring

7. 결론

Kubernetes에 MySQL을 성공적으로 설정하고 모니터링을 위해 Prometheus 및 Grafana를 통합했습니다. 이제 Grafana 대시보드를 사용하여 MySQL 인스턴스를 실시간으로 모니터링할 수 있습니다.

주요 시사점:

  • MySQL은 Bitnami Helm 차트를 사용하여 Kubernetes에서 실행됩니다.
  • Prometheus는 MySQL 내보내기 도구를 사용하여 MySQL에서 측정항목을 스크랩하는 데 사용됩니다.
  • Grafana는 Prometheus가 수집한 데이터를 시각화하도록 구성되어 있습니다.
  • LoadBalancer 서비스를 사용하여 외부에서 MySQL에 액세스할 수 있습니다.

이 설정을 사용하면 Kubernetes에서 데이터베이스 인프라를 쉽게 확장하고 모니터링할 수 있습니다.

위 내용은 Prometheus 및 Grafana 모니터링을 사용하여 Kubernetes에서 MySQL 설정의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
MySQL의 장소 : 데이터베이스 및 프로그래밍MySQL의 장소 : 데이터베이스 및 프로그래밍Apr 13, 2025 am 12:18 AM

데이터베이스 및 프로그래밍에서 MySQL의 위치는 매우 중요합니다. 다양한 응용 프로그램 시나리오에서 널리 사용되는 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1) MySQL은 웹, 모바일 및 엔터프라이즈 레벨 시스템을 지원하는 효율적인 데이터 저장, 조직 및 검색 기능을 제공합니다. 2) 클라이언트 서버 아키텍처를 사용하고 여러 스토리지 엔진 및 인덱스 최적화를 지원합니다. 3) 기본 사용에는 테이블 작성 및 데이터 삽입이 포함되며 고급 사용에는 다중 테이블 조인 및 복잡한 쿼리가 포함됩니다. 4) SQL 구문 오류 및 성능 문제와 같은 자주 묻는 질문은 설명 명령 및 느린 쿼리 로그를 통해 디버깅 할 수 있습니다. 5) 성능 최적화 방법에는 인덱스의 합리적인 사용, 최적화 된 쿼리 및 캐시 사용이 포함됩니다. 모범 사례에는 거래 사용 및 준비된 체계가 포함됩니다

MySQL : 소기업에서 대기업에 이르기까지MySQL : 소기업에서 대기업에 이르기까지Apr 13, 2025 am 12:17 AM

MySQL은 소규모 및 대기업에 적합합니다. 1) 소기업은 고객 정보 저장과 같은 기본 데이터 관리에 MySQL을 사용할 수 있습니다. 2) 대기업은 MySQL을 사용하여 대규모 데이터 및 복잡한 비즈니스 로직을 처리하여 쿼리 성능 및 트랜잭션 처리를 최적화 할 수 있습니다.

Phantom은 무엇을 읽고, Innodb는 어떻게 그들을 막을 수 있습니까 (다음 키 잠금)?Phantom은 무엇을 읽고, Innodb는 어떻게 그들을 막을 수 있습니까 (다음 키 잠금)?Apr 13, 2025 am 12:16 AM

InnoDB는 팬텀 읽기를 차세대 점화 메커니즘을 통해 효과적으로 방지합니다. 1) Next-Keylocking은 Row Lock과 Gap Lock을 결합하여 레코드와 간격을 잠그기 위해 새로운 레코드가 삽입되지 않도록합니다. 2) 실제 응용 분야에서 쿼리를 최적화하고 격리 수준을 조정함으로써 잠금 경쟁을 줄이고 동시성 성능을 향상시킬 수 있습니다.

MySQL : 프로그래밍 언어는 아니지만 ...MySQL : 프로그래밍 언어는 아니지만 ...Apr 13, 2025 am 12:03 AM

MySQL은 프로그래밍 언어가 아니지만 쿼리 언어 SQL은 프로그래밍 언어의 특성을 가지고 있습니다. 1. SQL은 조건부 판단, 루프 및 가변 작업을 지원합니다. 2. 저장된 절차, 트리거 및 기능을 통해 사용자는 데이터베이스에서 복잡한 논리 작업을 수행 할 수 있습니다.

MySQL : 세계에서 가장 인기있는 데이터베이스 소개MySQL : 세계에서 가장 인기있는 데이터베이스 소개Apr 12, 2025 am 12:18 AM

MySQL은 오픈 소스 관계형 데이터베이스 관리 시스템으로, 주로 데이터를 신속하고 안정적으로 저장하고 검색하는 데 사용됩니다. 작업 원칙에는 클라이언트 요청, 쿼리 해상도, 쿼리 실행 및 반환 결과가 포함됩니다. 사용의 예로는 테이블 작성, 데이터 삽입 및 쿼리 및 조인 작업과 같은 고급 기능이 포함됩니다. 일반적인 오류에는 SQL 구문, 데이터 유형 및 권한이 포함되며 최적화 제안에는 인덱스 사용, 최적화 된 쿼리 및 테이블 분할이 포함됩니다.

MySQL의 중요성 : 데이터 저장 및 관리MySQL의 중요성 : 데이터 저장 및 관리Apr 12, 2025 am 12:18 AM

MySQL은 데이터 저장, 관리, 쿼리 및 보안에 적합한 오픈 소스 관계형 데이터베이스 관리 시스템입니다. 1. 다양한 운영 체제를 지원하며 웹 응용 프로그램 및 기타 필드에서 널리 사용됩니다. 2. 클라이언트-서버 아키텍처 및 다양한 스토리지 엔진을 통해 MySQL은 데이터를 효율적으로 처리합니다. 3. 기본 사용에는 데이터베이스 및 테이블 작성, 데이터 삽입, 쿼리 및 업데이트가 포함됩니다. 4. 고급 사용에는 복잡한 쿼리 및 저장 프로 시저가 포함됩니다. 5. 설명 진술을 통해 일반적인 오류를 디버깅 할 수 있습니다. 6. 성능 최적화에는 인덱스의 합리적인 사용 및 최적화 된 쿼리 문이 포함됩니다.

MySQL을 사용하는 이유는 무엇입니까? 혜택과 장점MySQL을 사용하는 이유는 무엇입니까? 혜택과 장점Apr 12, 2025 am 12:17 AM

MySQL은 성능, 신뢰성, 사용 편의성 및 커뮤니티 지원을 위해 선택됩니다. 1.MYSQL은 효율적인 데이터 저장 및 검색 기능을 제공하여 여러 데이터 유형 및 고급 쿼리 작업을 지원합니다. 2. 고객-서버 아키텍처 및 다중 스토리지 엔진을 채택하여 트랜잭션 및 쿼리 최적화를 지원합니다. 3. 사용하기 쉽고 다양한 운영 체제 및 프로그래밍 언어를 지원합니다. 4. 강력한 지역 사회 지원을 받고 풍부한 자원과 솔루션을 제공합니다.

InnoDB 잠금 장치 (공유 잠금, 독점 잠금, 의도 잠금, 레코드 잠금, 갭 잠금, 차세대 자물쇠)를 설명하십시오.InnoDB 잠금 장치 (공유 잠금, 독점 잠금, 의도 잠금, 레코드 잠금, 갭 잠금, 차세대 자물쇠)를 설명하십시오.Apr 12, 2025 am 12:16 AM

InnoDB의 잠금 장치에는 공유 잠금 장치, 독점 잠금, 의도 잠금 장치, 레코드 잠금, 갭 잠금 및 다음 키 잠금 장치가 포함됩니다. 1. 공유 잠금을 사용하면 다른 트랜잭션을 읽지 않고 트랜잭션이 데이터를 읽을 수 있습니다. 2. 독점 잠금은 다른 트랜잭션이 데이터를 읽고 수정하는 것을 방지합니다. 3. 의도 잠금은 잠금 효율을 최적화합니다. 4. 레코드 잠금 잠금 인덱스 레코드. 5. 갭 잠금 잠금 장치 색인 기록 간격. 6. 다음 키 잠금은 데이터 일관성을 보장하기 위해 레코드 잠금과 갭 잠금의 조합입니다.

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

인기 기사

R.E.P.O. 에너지 결정과 그들이하는 일 (노란색 크리스탈)
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 최고의 그래픽 설정
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. 아무도들을 수없는 경우 오디오를 수정하는 방법
3 몇 주 전By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25 : Myrise에서 모든 것을 잠금 해제하는 방법
4 몇 주 전By尊渡假赌尊渡假赌尊渡假赌

뜨거운 도구

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse용 SAP NetWeaver 서버 어댑터

Eclipse를 SAP NetWeaver 애플리케이션 서버와 통합합니다.

DVWA

DVWA

DVWA(Damn Vulnerable Web App)는 매우 취약한 PHP/MySQL 웹 애플리케이션입니다. 주요 목표는 보안 전문가가 법적 환경에서 자신의 기술과 도구를 테스트하고, 웹 개발자가 웹 응용 프로그램 보안 프로세스를 더 잘 이해할 수 있도록 돕고, 교사/학생이 교실 환경 웹 응용 프로그램에서 가르치고 배울 수 있도록 돕는 것입니다. 보안. DVWA의 목표는 다양한 난이도의 간단하고 간단한 인터페이스를 통해 가장 일반적인 웹 취약점 중 일부를 연습하는 것입니다. 이 소프트웨어는

SublimeText3 영어 버전

SublimeText3 영어 버전

권장 사항: Win 버전, 코드 프롬프트 지원!

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

Atom Editor Mac 버전 다운로드

Atom Editor Mac 버전 다운로드

가장 인기 있는 오픈 소스 편집기