የውጭ አገልግሎቶችን ወደ ኩበርኔትስ ክላስተር መከታተል እና መግባት

የውጭ አገልግሎቶችን ወደ ኩበርኔትስ ክላስተር መከታተል እና መግባት

መልካም እድል ለሁሉም።

ከሶስተኛ ወገን አገልግሎቶች መለኪያዎችን ስለመግባት እና ስለ መሰብሰብ አጠቃላይ መመሪያ በበይነመረብ ላይ አላገኘሁም ኩባንያቶች. መፍትሄዬን እየለጠፍኩ ነው። ይህ ጽሑፍ ቀድሞውኑ ሥራ እንዳለዎት ያስባል ፕሮሚትየስ እና ሌሎች አገልግሎቶች. ለውጫዊ ሁኔታዊ አገልግሎት እንደ የውሂብ ምንጭ ምሳሌ፣ DBMS ጥቅም ላይ ይውላል PostgreSQL በእቃ መያዣ ውስጥ Docker. ኩባንያው የጥቅል አስተዳዳሪን ይጠቀማል ሄል, በጽሑፉ ውስጥ ከታች በእሱ ላይ ምሳሌዎች ይኖራሉ. ለጠቅላላው መፍትሄ፣ የራሳችንን ገበታ እያዘጋጀን ነው፣ እሱም ሁሉንም ጥቅም ላይ የሚውሉ አገልግሎቶችን የጎጆ ገበታዎችን ያካትታል።

መግባት

ብዙ ኩባንያዎች ምዝግብ ማስታወሻዎችን ለመሰብሰብ፣ ለማየት እና ለማማከል የቴክኖሎጂ ቁልል ይጠቀማሉ Elasticsearch + Logstash + ኪባና፣ ኤልኬ በሚል ምህጻረ ቃል። በእኛ ሁኔታ, ይዘቱን ጠቋሚ ማድረግ አያስፈልግም እና የበለጠ ቀላል ክብደትን ተጠቀምኩ Loki. እንደ Helm ጥቅል ይገኛል ፣ ለስርዓታችን የሚስማማውን የመግቢያ እና pv እሴቶችን በመቀየር እንደ ንዑስ ገበታ ጨምረነዋል።

እሴቶች.yaml

ingress:
  enabled: true
  annotations:
     kubernetes.io/ingress.class: nginx
  hosts:
    - host: kube-loki.example.domain
      paths: 
        - /
  tls: []

....

persistence:
  type: pvc
  enabled: true
  accessModes:
    - ReadWriteOnce
  size: 100Gi
  finalizers:
    - kubernetes.io/pvc-protection
  existingClaim: "pv-loki"

ምዝግብ ማስታወሻዎችን ወደ ምሳሌ ለመላክ Loki ተጠቀም Loki Docker የምዝግብ ማስታወሻ ሾፌር.

ይህን ተጨማሪ በሁሉም ነገር ላይ መጫን አለብህ Docker ምዝግብ ማስታወሻዎችን መቀበል የሚፈልጉበት አስተናጋጆች. መከለያውን እንዴት እንደሚጠቀሙ ለዴሞን ለመንገር ብዙ መንገዶች አሉ። በ yaml ውስጥ ሾፌሩን እመርጣለሁ Docker Compose, የትኛው አካል ነው የሚጠራ የመጫወቻ መጽሐፍ.

postgres.yaml

    - name: Run containers
      docker_compose:
        project_name: main-postgres
        definition:
          version: '3.7'
          services:
            p:
              image: "{{ postgres_version }}"
              container_name: postgresql
              restart: always
              volumes:
                - "{{ postgres_dir }}/data:/var/lib/postgresql/data"
                - "{{ postgres_dir }}/postgres_init_scripts:/docker-entrypoint-initdb.d"
              environment:
                POSTGRES_PASSWORD: {{ postgres_pass }}
                POSTGRES_USER: {{ postgres_user }}
              ports:
                - "{{ postgres_ip }}:{{ postgres_port }}:5432"
              logging:
                driver: "loki"
                options:
                  loki-url: "{{ loki_url }}"
                  loki-batch-size: "{{ loki_batch_size }}"
                  loki-retries: "{{ loki_retries }}"
...

የት loki_url: kube-loki.example.domain/loki/api/v1/push

መለኪያዎች

መለኪያዎች የሚሰበሰቡት ከ PostgreSQL በመጠቀም ነው። postgres_ ላኪፕሮሚትየስ. ከላይ ያለው ፋይል መቀጠል የሚጠራ የመጫወቻ መጽሐፍ.

postgres.yaml

...
            pexp:
              image: "wrouesnel/postgres_exporter"
              container_name: pexporter
              restart: unless-stopped
              environment:
                DATA_SOURCE_NAME: "postgresql://{{ postgres_user }}:{{ postgres_pass }}@p:5432/postgres?sslmode=disable"
              ports:
                - "{{ postgres_ip }}:{{ postgres_exporter_port }}:9187"
              logging:
                driver: "json-file"
                options:
                  max-size: "5m"
...

ለበለጠ ግልጽነት፣ Endpoints በመጠቀም የውጪ የመንግስት አገልግሎቶችን ስም እንጽፋለን።

postgres-አገልግሎት.yaml

apiVersion: v1
kind: Endpoints
metadata:
  name: postgres-exporter
subsets:
  - addresses:
      - ip: {{ .Values.service.postgres.ip }}
    ports:
      - port: {{ .Values.service.postgres.port }}
        protocol: TCP
---
apiVersion: v1
kind: Service
metadata:
  name: postgres-exporter
  labels:
    chart:  "{{ .Chart.Name }}-{{ .Chart.Version | replace "+" "_" }}"
spec:
  ports:
    - protocol: TCP
      port: {{ .Values.service.postgres.port }}
      targetPort: {{ .Values.service.postgres.port }}

የፖስትግሬስ_ላኪ መረጃን ለመቀበል ፕሮሜቴየስን ማዋቀር የሚከናወነው በንዑስ ቻርት ውስጥ እሴቶችን በማርትዕ ነው።

እሴቶች.yaml

scrape_configs:
...
  - job_name: postgres-exporter
    static_configs:
      - targets: 
         - postgres-exporter.applicationnamespace.svc.cluster.local:9187
        labels:
          alias: postgres
...

የተቀበለውን ውሂብ ለማየት፣ ተገቢውን ዳሽቦርድ ይጫኑ
ግራፋና እና የውሂብ ምንጮችን ያዋቅሩ. ይህ በግራፋና ንዑስ ቻርት ውስጥ ባሉ እሴቶች በኩልም ሊከናወን ይችላል።

ምን ይመስላል
የውጭ አገልግሎቶችን ወደ ኩበርኔትስ ክላስተር መከታተል እና መግባት

ይህ አጭር መጣጥፍ ከዚህ መፍትሄ በስተጀርባ ያሉትን ዋና ሀሳቦች እንዲረዱ እና ለሎኪ / ፕሮሜቲየስ የውጭ አገልግሎቶችን በኩበርኔትስ ክላስተር ውስጥ ሲያደርጉ እና ሲመዘገቡ ጊዜዎን እንዲቆጥቡ እንደረዳዎት ተስፋ አደርጋለሁ ።

ምንጭ: hab.com

አስተያየት ያክሉ