๐Ÿ“—
smiley book
  • Smiley Books
  • AI
    • Readme
    • openai-whisper
      • ์ƒ˜ํ”Œ ์‹คํ–‰ํ•ด๋ณด๊ธฐ
      • GPU ์„œ๋ฒ„ ์ค€๋น„ํ•˜๊ธฐ
      • API๋กœ whisper๋ฅผ ์™ธ๋ถ€์— ์˜คํ”ˆํ•˜๊ธฐ
      • ํ”„๋กฌํ”„ํŠธ ์ง€์›
      • ์‹ค์‹œ๊ฐ„ message chat
      • ํ™”๋ฉด ์ด์˜๊ฒŒ ๋งŒ๋“ค๊ธฐ์™€ ๋กœ๊ทธ์ธ
      • ํŒŒ์ด์ฌ ๊ฐ€์ƒํ™˜๊ฒฝ
      • ์‹ค์‹œ๊ฐ„ voice chat
      • fine tunning(๋ฏธ์„ธ ์กฐ์ •) ์œผ๋กœ ์„ฑ๋Šฅ ์˜ฌ๋ฆฌ๊ธฐ
      • app์—์„œ api๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์‹ค์‹œ๊ฐ„์œผ๋กœ ํ…์ŠคํŠธ๋กœ ๋ฐ”๊ฟ”๋ณด๊ธฐ
    • ollama - llm์„ ์‰ฝ๊ฒŒ ๋‚ด์ปด์—์„œ ์‹คํ–‰
      • ollama webui
      • ollama docker
    • stable diffusion
      • SDXL - text to image
      • SD-webui
    • ChatGPT
      • ๋‹ต๋ณ€์ด ๋Š๊ธธ๋•Œ
      • ์—ญํ• ์„ ์ •ํ•˜์ž
      • ๊ตฌ์ฒด์ ์ธ ์งˆ๋ฌธ
      • ๊ฒฐ๊ณผํ˜•ํƒœ๋ฅผ ์ง€์ •
      • ํ”„๋กฌํ”„ํŠธ๋ฅผ ์—ฌ๋Ÿฌ์ค„๋กœ ์‚ฌ์šฉํ•˜์ž.
      • ๋งˆํ‹ด ํŒŒ์šธ๋Ÿฌ ๊ธ€ ๋ฒˆ์—ญ๋ณธ
    • Prompt Engineering
    • Auto-GPT
    • Gemini
      • google ai studio
      • gemini-api
      • embedding guide
    • Huggingface
      • huggingface ์‚ฌ์šฉ๋ฒ•
      • huggingface nlp ๊ณต๋ถ€์ค‘
    • kaggle
      • download dataset
    • langchain
      • langchain์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌ
      • basic
      • slackbot
      • rag
      • document-loader
      • website-loader
      • confluence
      • memory
      • function-call
      • langsmith
      • agent-toolkit
  • Ansible
    • templates vs files and jinja2
    • dynamic inventory
    • limit ์˜ต์…˜ ๊ฐ•์ œํ•˜๊ธฐ
    • limit ์‚ฌ์šฉํ›„ gather_fact ๋ฌธ์ œ
  • AWS
    • AWS CLI
    • EKS
      • cluster manage
      • ALB Controller
      • external-dns
      • fargate
    • ECR
    • S3
    • Certificate Manager
  • Azure
    • Azure AD OAuth Client Flow
  • Container
    • Registry
    • ๋นŒ๋“œ์‹œ์— env๊ฐ’ ์„ค์ •ํ•˜๊ธฐ
  • DB
    • PXC
      • Operator
      • PMM
      • ์‚ญ์ œ
      • GTID
      • Cross Site Replication
    • Mssql
    • Mysql
  • dotnet
    • Thread Pool
    • Connection Pool
    • Thread Pool2
  • Devops
    • Recommendation
  • GIT
    • Basic
    • Submodule
  • GitHub
    • Repository
    • GitHub Action
    • GitHub PR
    • Self Hosted Runner
    • GitHub Webhook
  • GitLab
    • CI/CD
    • CI/CD Advance
    • Ssl renew
    • CI/CD Pass env to other job
  • Go Lang
    • ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ๊ตฌ์ถ•
    • multi os binary build
    • kubectl๊ฐ™์€ cli๋งŒ๋“ค๊ธฐ
    • azure ad cli
    • embed static file
    • go study
      • pointer
      • module and package
      • string
      • struct
      • goroutine
  • Kubernetes
    • Kubernetes๋Š” ๋ฌด์—‡์ธ๊ฐ€
    • Tools
    • Install with kubespray
    • Kubernetes hardening guidance
    • 11 ways not to get hacked
    • ArgoCD
      • Install
      • CLI
      • Repository
      • Apps
      • AWS ALB ์‚ฌ์šฉ
      • Notification slack
      • Backup / DR
      • Ingress
      • 2021-11-16 Github error
      • Server Config
      • auth0 ์ธ์ฆ ์ถ”๊ฐ€(oauth,OIDC)
    • Extension
      • Longhorn pvc
      • External dns
      • Ingress nginx
      • Cert Manager
      • Kube prometheus
    • Helm
      • Subchart
      • Tip
    • Loki
    • Persistent Volume
    • TIP
      • Job
      • Pod
      • Log
  • KAFKA
    • raft
  • KVM
    • kvm cpu model
  • Linux
    • DNS Bind9
      • Cert-Manager
      • Certbot
      • Dynamic Update
      • Log
    • Export and variable
    • Grep ์‚ฌ์šฉ๋ฒ•
  • Modeling
    • C4 model introduce
    • Mermaid
    • reference
  • Monitoring
    • Readme
    • 0. What is Monitoring
    • 1. install prometheus and grafana
    • 2. grafana provisioning
    • 3. grafana dashboard
    • 4. grafana portable dashboard
    • 5. prometheus ui
    • 6. prometheus oauth2
    • Prometheus
      • Metric type
      • basic
      • rate vs irate
      • k8s-prometheus
    • Grafana
      • Expolorer
    • Node Exporter
      • advance
      • textfile collector
  • Motivation
    • 3 Simple Rule
  • OPENNEBULA
    • Install(ansible)
    • Install
    • Tip
    • Windows vm
  • Reading
    • comfort zone
    • ๋ฐฐ๋ ค
    • elon musk 6 rule for insane productivity
    • Feynman Technique
    • how to interview - elon musk
    • ๊ฒฝ์ฒญ
    • Readme
  • Redis
    • Install
    • Master-slave Architecture
    • Sentinel
    • Redis Cluster
    • Client programming c#
  • SEO
    • Readme
  • Security
    • criminalip.io
      • criminalip.io
  • Stock
    • robinhood-python
  • Terraform
    • moved block
    • output
  • vault
    • Readme
  • VS Code
    • dev container
    • dev container on remote server
  • Old fashione trend
    • curity
    • MAAS
      • Install maas
      • Manage maas
      • Tip
Powered by GitBook
On this page
  • pmm server
  • pmm-client
  • pmm ํ™•์ธ
  • subchart ๋กœ argocd์—์„œ ์„ค์ •

Was this helpful?

  1. DB
  2. PXC

PMM

pmm server

install

helm repo add percona https://percona-charts.storage.googleapis.com
helm repo update
NS=pxc-mysql
helm install monitoring pmm/pmm-server -n $NS --set platform=kubernetes --set "credentials.password=your_password"

ingress ์„ค์ •

cert-manager๊ฐ€ ์„ค์ •์ด ๋ฏธ๋ฆฌ ๋˜์žˆ์–ด์„œ ssl๊นŒ์ง€ ๋งŒ๋“ค๋ฉด์„œ ์ง„ํ–‰

๋ฐฑ์•ค๋“œ์— ssl๋กœ ํ†ต์‹ ํ•˜๋Š”๊ฒƒ ์ค‘์š”

---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: pmm
  namespace: pxc-mysql
  annotations:
    kubernetes.io/ingress.class: nginx
    cert-manager.io/cluster-issuer: 'dns-issuer-aws-live'
    nginx.ingress.kubernetes.io/force-ssl-redirect: 'true'
    nginx.ingress.kubernetes.io/backend-protocol: 'HTTPS' # ์ด๋ถ€๋ถ„ ๊ผญ ํ™•์ธ
spec:
  tls:
    - hosts:
        - 'pmm.c3.yourdomain.com'
      secretName: pmm-tls
  rules:
    - host: pmm.c3.yourdomain.com
      http:
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: pxc-pmm-service
                port:
                  number: 443

์‚ฌ์ดํŠธ์— ์ ‘์†ํ•ด๋ณด๋ฉด grafana๊ฐ€ ๋ณด์ธ๋‹ค. ๋กœ๊ทธ์ธํ•˜๋ฉด ๋œ๋‹ค.

pmm-client

cr.yaml
pmm:
  enabled: true
  image: percona/pmm-client:2.18.0
  serverHost: pxc-pmm-service # pmm-server์—์„œ์˜ ์„œ๋น„์Šค ๋ช…
  serverUser: admin # ํ™•์ธ
k apply -f cr.yaml

์ž๋™์œผ๋กœ ์„œ๋ฒ„๋ฅผ ์ฐพ์•„์„œ ์ž๊ธฐ ์Šค์Šค๋กœ๋ฅผ ๋“ฑ๋กํ•œ๋‹ค.

pmm ํ™•์ธ

pmm.c3.yourdomain.com ์œผ๋กœ ๋“ค์–ด๊ฐ€์„œ ํ™•์ธํ•ด๋ณด๋ฉด ๋งŽ์€ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณผ์ˆ˜ ์žˆ๋‹ค.

๋‹ค ๊ตฌ์„ฑ๋˜๊ณ  ๋‚˜๋ฉด pmm ์— ์ ‘์†ํ•ด๋ณด๋ฉด ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ๊ฐ€ ๋ณด์ธ๋‹ค.

alert manager๋ฅผ ์„ค์ •ํ•˜๋ฉด ์Šฌ๋ž™์œผ๋กœ ์—๋Ÿฌ๋ฅผ ๋ฐ›์„์ˆ˜ ์žˆ๋‹ค.

subchart ๋กœ argocd์—์„œ ์„ค์ •

argocd ์—์„œ subchart๋ฅผ ์‚ฌ์šฉ ํ•ด์•ผ gitops๊ฐ€ ๋œ๋‹ค.

subchart๋กœ ๋งŒ๋“ค์ž.

mkdir pmm
cd pmm

touch Chart.yaml
apiVersion: v2
name: pmm-subchart
type: application
version: 1.0.0
appVersion: '1.0.0'
dependencies:
  - name: pmm-server
    version: 2.18.0
    repository: https://percona-charts.storage.googleapis.com

vi values.yaml

pmm-server:
  ## percona image version
  ## ref: https://hub.docker.com/r/library/percona/tags/
  ##
  imageRepo: 'percona/pmm-server'
  imageTag: '2.18.0'

  ## A choice between "kubernetes" and "openshift"
  platform: 'kubernetes'

  ## Specify an imagePullPolicy (Required)
  ## It's recommended to change this to 'Always' if the image tag is 'latest'
  ## ref: http://kubernetes.io/docs/user-guide/images/#updating-images
  ##
  imagePullPolicy: Always
  scc: null
  sa: null
  ## Persist data to a persitent volume
  persistence:
    enabled: true
    ## percona data Persistent Volume Storage Class
    ## If defined, storageClassName: <storageClass>
    ## If set to "-", storageClassName: "", which disables dynamic provisioning
    ## If undefined (the default) or set to null, no storageClassName spec is
    ##   set, choosing the default provisioner.  (gp2 on AWS, standard on
    ##   GKE, AWS & OpenStack)
    ##
    # storageClass: "-"
    accessMode: ReadWriteOnce
    size: 30Gi

  ## set credentials
  credentials:
    password: 'admin'

  ## set metric collection settings
  metric:
    resolution: 1s
    retention: 720h
  queries:
    retention: 8

  ## Configure resource requests and limits
  ## ref: http://kubernetes.io/docs/user-guide/compute-resources/
  ##
  resources:
    requests:
      memory: 1Gi
      cpu: 0.5

  supresshttp2: true
  service:
    type: LoadBalancer
    port: 443
    loadBalancerIP: ''

  ## Mount prometheus scrape config https://www.percona.com/blog/2020/03/23/extending-pmm-prometheus-configuration/
  prometheus:
    configMap:
      name: ''

  ## Kubernetes Ingress https://kubernetes.io/docs/concepts/services-networking/ingress
  ingress:
    enabled: true
    annotations:
      # kubernetes.io/ingress.class: nginx
      # kubernetes.io/tls-acme: "true"
      kubernetes.io/ingress.class: nginx
      cert-manager.io/cluster-issuer: 'dns-issuer-aws-live'
      nginx.ingress.kubernetes.io/force-ssl-redirect: 'true'
      nginx.ingress.kubernetes.io/backend-protocol: 'HTTPS'
    path: /
    pathType: null
    host: pmm.yourdomain.com
    rules: []
    tls: []
    #  - secretName: pmm-server-tls
    #    hosts:
    #      - monitoring-service.example.local
    labels: {}

vi add-pmm-server.yaml

apiVersion: argoproj.io/v1alpha1
kind: Application
metadata:
  name: pxc-pmm-server
  namespace: argocd
spec:
  destination:
    name: ''
    namespace: pxc-mysql
    server: 'https://kubernetes.default.svc'
  source:
    path: apps/pxc-pmm-server
    repoURL: 'git@github.com:teamsmiley/argocd-c3.git'
    targetRevision: HEAD
  project: default
  syncPolicy:
    automated:
      prune: true
      selfHeal: true
    syncOptions:
      - CreateNamespace=true

ingress๊นŒ์ง€ ์ž˜ ์ ์šฉ๋˜๋Š”๊ฒƒ์„ ์•Œ์ˆ˜์žˆ๋‹ค.

k apply -f add-pmm-server.yaml

์ž˜ ์ ์šฉ๋œ๋‹ค.

PreviousOperatorNext์‚ญ์ œ

Last updated 1 year ago

Was this helpful?