Sobes.tech
Middle+

DevOps-ში სერთიფიკატის მდგომარეობის ციკლური მონიტორინგისა და მისი ავტომატური შეცვლის შესახებ რა გამოცდილება გაქვთ?

sobes.tech AI

პასუხი AI-სგან

සහතික මොනිටරින් සඳහා මම මෙවලම් සංයෝගයක් භාවිතා කරමි. ප්‍රධාන මොනිටරින් කිරීම වෙබ් සේවාදායකයන් සහ සේවාවන්හි සහතික වල තත්ත්වය සහ කාලසීමාව මත ක්‍රියාත්මක වේ:

  1. Prometheus Exporters:

    • ssl exporter: සඳහන් endpoint-වල සිට සහතික වල කාලසීමා පිළිබඳ මැට්‍රික්ස් එකතු කරයි.
    • node exporter (පෙළිවල සමඟ): ගොනු පද්ධතියේ සහතික ගොනු මොනිටරින් කිරීම සඳහා භාවිතා කළ හැකිය.

    Bash හෝ Python ස්ක්‍රිප්ට් මගින් නිතරම සහතික තත්ත්වය පරීක්ෂා කරයි (උදාහරණයක් ලෙස, openssl x509 -in cert.pem -noout -enddate) සහ ප්‍රතිඵල node exporter (textfile collector) ආකෘතියට ලිවිය යුතුයි.

  2. Alertmanager:

    • Alertmanager තුළ නියමයන් සැකසීමෙන් (උදාහරණයක් ලෙස, 30, 7 සහ 1 දිනකට පෙර අවසන් වීමේදී) මැට්‍රික්ස් මත පදනම්ව අනතුරු ඇඟවීම් ක්‍රියාත්මක කරයි.
    • අනතුරු ඇඟවීම් Slack, ඊමේල් හෝ වෙනත් සන්නිවේදන චැනල් වෙත යවයි.

ස්වයංක්‍රීය සහතික මාරු කිරීම සාමාන්‍යයෙන් ACME-සේවාදායකයන් භාවිතා කර සිදු කරයි, උදාහරණයක් ලෙස certbot හෝ lego.

  1. කාර්යය සැලසුම් කිරීම:

    • Cron කාර්යයන් හෝ පද්ධති ටයිමර් (systemd timers) මගින් ACME-සේවාදායකය ක්‍රියාත්මක කරයි, සහතික පරීක්ෂා කිරීම සහ යාවත්කාලීන කිරීම සඳහා.
    # certbot සඳහා උදාහරණ cron ලිපිය
    0 */12 * * * root certbot renew --quiet --standalone --pre-hook "systemctl stop nginx" --post-hook "systemctl start nginx"
    
  2. CI/CD මඟින් ස්වයංක්‍රීය කිරීම:

    • Kubernetes පරිසරයක, සහතික යාවත්කාලීන කිරීමේ ක්‍රියාවලිය CI/CD pipeline එකට ඒකාබද්ධ කළ හැකිය.
    • උදාහරණයක් ලෙස, TLS සමඟ Kubernetes Ingress වස්තුවල, cert-manager සහතික නිකුත් කිරීම සහ යාවත්කාලීන කිරීම ස්වයංක්‍රීයව සිදු කරයි, Controller සහ Custom Resource Definitions (CRD) මඟින්.
# cert-manager සඳහා Ingress උදාහරණයක්
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: my-ingress
  annotations:
    cert-manager.io/cluster-issuer: "letsencrypt-prod"
spec:
  tls:
  - hosts:
    - example.com
    secretName: example-com-tls
  rules:
  - host: example.com
    http:
      paths:
      - path: /
        pathType: Prefix
        backend:
          service:
            name: my-service
            port:
              number: 80
  1. සැකසුම් යාවත්කාලීන කිරීම:
    • සාර්ථකව යාවත්කාලීන කළ සහතිකයන් පසුව, ස්ක්‍රිප්ට් හෝ pipeline සේවාවන් නැවත ආරම්භ කරයි හෝ සැකසුම් නැවත කියවයි, නව සහතිකය භාවිතා කිරීමට.

සමහර මොනිටරින් සහ ස්වයංක්‍රීය කිරීමේ සංයෝජනය, අවසන් වූ සහතික නිසා සේවාවන් අසමත් වීමේ අවදානම අඩු කරයි.