Vigilantia et colligationem externa officia ad racemum Kubernetes

Vigilantia et colligationem externa officia ad racemum Kubernetes

Bene vale omnibus.

Ducem generalem in Interreti non inveni in logingis et metricis colligendis ex tertia factione officia in systemata explicanda. Kubernetes. I'm posting my solution. Hic articulus ponit quod iam habent operationem Prometheum et alia officia. Ut exemplum fontis notitiae pro servitio stato externo, DBMS adhibebitur PostgreSQL in vas Docker. In comitatu sarcina procurator utitur helminfra in textu erunt exempla. Ad solutionem integram, chartam nostram paramus, quae chartulas omnium officiorum adhibitorum complectitur.

Logging

Multae societates technologiarum acervo utuntur ad omnia colligenda, spectanda ac centralizanda Elasticsearch + Logstash + kibanaabbreviata ut ELK. In casu nostro non opus est indices argumenti et leviori usus sum ad amabilem venustatem cincinni. Praesto est ut sarcina Helm, eam ut subchartam addimus mutando valores ad ingressu et pv ad aptam rationem nostram.

values.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"

Ut omnia in exemplum ad amabilem venustatem cincinni usus Loki Docker Logging Coegi.

Oportet te install hoc addendi in omnia Docker Virtutes a quo vis ligna accipere. Plures modis daemonem uti Nullam. Eligo coegi in yaml Epistola Dockerquae est pars Ansible playbook.

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 }}"
...

ubi loki_url: kube-loki.example.domain/loki/api/v1/dis

Metrics

Metrica colliguntur ex usura PostgreSQL postgres_exporter ad Prometheum. Continuatio file supra Ansible playbook.

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"
...

Ad maiorem evidentiam scribemus nomina publica officia externa utentes terminos.

postgres-service.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 }}

Configurans Prometheum data est recipere postgres_exporter emendando bona in charta.

values.yaml

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

Ut visualize receptam datam, aptam Dashboard inaugurare
grafana et configurare data fontibus. Hoc etiam fieri potest per bona in Grafana subchart.

Quam is vultus
Vigilantia et colligationem externa officia ad racemum Kubernetes

Spero breve hoc articulum adiuvisse te notiones praecipuas post hanc solutionem intelligere et tempus te servavisse cum vigilantia et colligatione operarum externarum Loki/Prometheus in botro Kubernetes erigens.

Source: www.habr.com