Hogyan jelenítsük meg valós időben a Kubernetes fürteseményeket



Ez a blogbejegyzés segít megtanulni, hogyan teheti közzé a Kubernetes-fürt eseményeinek adatait az Amazon Elastic Search alkalmazásban a Fluentd naplózó segítségével.

Ebben a cikkben megtudhatja, hogyan teheti közzé a Kubernetes-fürt eseményeinek adatait az Amazon-on a Fluentd naplózó segítségével. Ezután az adatokat a , egy nyílt forráskódú vizualizációs eszköz az Elasticsearch számára. Az Amazon ES integrált Kibana integrációból áll.

Végigvezetjük Önt a következő eljárással:





1. lépés: Kubernetes-fürt létrehozása

A Kubernetes egy nyílt forráskódú platform, amelyet a Google hozott létre a konténeres alkalmazások kezelésére. lehetővé teszi a tárolt alkalmazások kezelését, méretezését és telepítését fürtözött környezetben. A konténereinket különféle gazdagépeken hangszerelhetjük Kormányzók , menet közben méretezheti a tárolt alkalmazásokat az összes erőforrással, és rendelkezik központi tárolókezelési környezettel.

Kezdjük a Kubernetes-fürt létrehozásával, és lépésről lépésre bemutatom Önnek a Kubernetes telepítését és konfigurálását a CentOS 7-en.



egy. Gazdák konfigurálása

    • vi / etc / hosts
    • végezzen módosításokat a gazdagép fájljában található gazdagép adatainak megfelelően

IMG1 - Elasticsearch - Edureka

egyesítés rendezés c ++ kód

2. Az alábbi parancsok végrehajtásával tiltsa le a SELinux programot



    • setenforce 0
    • sed -i –follow-symlinks ’s / SELINUX = érvényesítés / SELINUX = letiltva / g’ / etc / sysconfig / selinux

3. Engedélyezze a br_netfilter kernelmodult

A br_netfilter modul szükséges a kubernetes telepítéséhez. Futtassa az alábbi parancsot a br_netfilter kernel modul engedélyezéséhez.
    • modprobe br_netfilter
    • echo ’1’> / proc / sys / net / bridge / bridge-nf-call-iptables

Négy. A parancsok alatt futva tiltsa le az SWAP-ot.

    • swapoff -a
    • Ezután szerkessze az / etc / fstab fájlt, és kommentálja a csere sort

5. Telepítse a Docker CE legújabb verzióját.Telepítse a docker-ce csomagfüggőségeit a parancsok alatt futva.

    • yum install -y yum-utils device-mapper-persistent-data lvm2
Adja hozzá a docker adattárat a rendszerhez, és telepítse a docker-ce alkalmazást a yum paranccsal.

6. Telepítse a Kubernetes alkalmazást

Használja a következő parancsot a kubernetes-tárház hozzáadásához a centos 7 rendszerhez.
    • yum install -y kubelet bebeadm kubectl

[kubernetes] név = Kubernetes baseurl = https: //packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 engedélyezve = 1 gpgcheck = 1 repo_gpgcheck = 1 gpgkey = https: //packages.cloud.google. com / yum / doc / yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg EOF
Telepítse a csomagolja a kubeadm, kubelet és kubectl parancsokat az alábbi yum parancs futtatásával.
  • systemctl start dokkoló && systemctl engedélyezi a dokkolót

A telepítés befejezése után indítsa újra az összes szervert.Újraindítás után indítsa el a szolgáltatások dokkolóját és a kubelet

  • systemctl start dokkoló && systemctl engedélyezi a dokkolót
  • systemctl start kubelet && systemctl engedélyezi a kubelet
7. Kubernetes fürt inicializálása Jelentkezzen be a fő szerverre, és futtassa az alábbi parancsot
  • systemctl start kubelet && systemctl engedélyezi a kubelet
Amint a Kubernetes inicializálása befejeződött, megkapja az eredményeket.Másolja a parancsokat a kapott eredményekből, és hajtsa végre a fürt használatának megkezdéséhez. Jegyezze fel a kubeadm join parancsot az eredményekből. A parancs segítségével új csomópontokat regisztrálhat a kubernetes-fürtbe. 8. Telepítse a flanellhálózatot a kubernetes-fürtbe kubectl alkalmazni -f

https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

A flanellhálózatot a Kubernetes-fürtbe telepítették. Várjon egy ideig, majd ellenőrizze a kubernetes csomópontot és hüvelyeket az alábbi parancsokkal.
    • kubectl csomópontokat kap
    • kubectl kap hüvelyeket –minden névterek
És megkapja, hogy a „k8s-master” csomópont „kész” állapotú „master” fürtként fut, és megkapja az összes fürthöz szükséges dobot, beleértve a „kube-flannel-ds” hálózati podot is konfiguráció.

9. Csomópontok hozzáadása a fürthözCsatlakozzon a node01 szerverhez, és futtassa a kubeadm join parancsot

    • kubeadm join 172.31.7.47:6443 –token at03m9.iinkh5ps9q12sh2i –discovery-token-ca-cert-hash sha256: 3f6c1824796ef1ff3d9427c883bde915d5bc13331d74891d831f29a8c4

Csatlakozzon a node02 szerverhez, és futtassa a kubeadm join parancsot

    • kubeadm join 172.31.7.47:6443 –token at03m9.iinkh5ps9q12sh2i –discovery-token-ca-cert-hash sha256: 3f6c1824796ef1ff3d9427c883bde915d5bc13331d74891d831f29a8c4

Várjon egy ideig, és ellenőrizze a „k8s-master” master fürt szervert, ellenőrizze a csomópontokat és a hüvelyeket a következő paranccsal.

      • kubectl csomópontokat kap

Most megkapja a worker1 elemet, és a worker2 bekerült a fürtbe, kész állapotban.

      • kubectl kap hüvelyeket –minden névterek

A Kubernetes fürt mester inicializálása és konfigurálása befejeződött.

2. lépés: Amazon ES-fürt létrehozása

Az Elasticsearch egy nyílt forráskódú kereső és elemző motor, amelyet naplóelemzésre és alkalmazások valós idejű nyomon követésére használnak. Az Amazon Elasticsearch Service (Amazon ES) egy AWS szolgáltatás, amely lehetővé teszi az Elasticsearch telepítését, működését és méretét az AWS felhőben. Az Amazon ES segítségével elemezheti az e-mail küldési eseményeket az Amazon SES-ről

Létrehozunk egy Amazon ES fürtöt, majd a Fluentd naplózási ügynököt telepítjük a Kubernetes fürtbe, amely naplókat gyűjt és elküld az Amazon ES fürtbe

Ez a szakasz bemutatja az Amazon ES konzol használatát az Amazon ES fürt létrehozásához.

Amazon ES klaszter létrehozása

összekapcsolt és nem kapcsolt transzformáció az informatikában
    1. Jelentkezzen be az AWS Management Console-ba, és nyissa meg az Amazon Elasticsearch Service konzolt a címen https://console.aws.amazon.com/es/
    2. Válassza a lehetőséget Hozzon létre egy új tartományt, és válassza a Telepítés típusát az Amazon ES konzolon.
    3. A Verzió alatt hagyja meg az Elasticsearch verzió mező alapértelmezett értékét.
    4. Válassza a Tovább lehetőséget
    5. Írja be az Elastic keresési domain nevét a konfigurálja a fürtöt oldal alatt Konfigurálja a tartományt.
    6. A Fürt konfigurálása oldalon válassza ki a következő lehetőségeket az adatpéldányok alatt
      • Példánytípus - Válassza a t2.micro.elasticsearch (Ingyenes szintre jogosult) lehetőséget.
      • Példányszám - egyet
    7. AlattDedikált fő példányok
      • Elkötelezett mester engedélyezése - Ne engedélyezze ezt az opciót.
      • Engedélyezze a zóna tudatosságát - Ne engedélyezze ezt az opciót.
    8. A Tárolás konfigurálása részben válassza a következő lehetőségeket.
      • Tárolási típus - Válassza az EBS lehetőséget. Az EBS beállításokhoz válassza az Általános célú (SSD) EBS kötet típusát és az EBS kötet méretét& thinsp10-ből.
    9. Titkosítás alatt - Ne engedélyezze ezt az opciót
    10. Pillanatkép konfiguráció alatt
      • Automatizált pillanatkép kezdési óra - Válassza az Automatikus pillanatképek kezdési órája: 00:00 UTC (alapértelmezett).
    11. Válassza a Tovább lehetőséget
    12. A Hálózati konfiguráció részben válassza a VPC-hozzáférés lehetőséget, és válassza ki a VPC-nek megfelelő részleteket.A Kibana-hitelesítés alatt: - Ne engedélyezze ezt a lehetőséget.
    13. A hozzáférési házirend beállításához válassza a Nyílt hozzáférés engedélyezése a tartományhoz lehetőséget.Megjegyzés: - A gyártásban korlátoznia kell a hozzáférést az adott IP-címekhez vagy tartományokhoz.
    14. Válassza a Tovább lehetőséget.
    15. Az Ellenőrzés oldalon ellenőrizze a beállításokat, majd válassza a Megerősítés és létrehozás lehetőséget.

Megjegyzés: A fürt telepítése akár tíz percet is igénybe vehet. Miután létrehozta a rugalmas keresési tartományt, vegye figyelembe a Kibana URL-jét.

3. lépés: Telepítse a Fluentd naplózási ügynököt a Kubernetes-fürtre

A Fluentd egy nyílt forráskódú adatgyűjtő, amely lehetővé teszi az adatgyűjtés és -felhasználás egységesítését az adatok jobb felhasználása és megértése érdekében. Ebben az esetben a Fluentd naplózást telepítjük a Kubernetes fürtbe, amely összegyűjti a naplófájlokat és elküldi az Amazon Elastic Search-nek.

Létrehozunk egy ClusterRole-t, amely engedélyeket biztosít a hüvelyekre és a névtér-objektumokra a fürt lekérésére, felsorolására és megtekintésére irányuló kérelmek benyújtására.

Először konfigurálnunk kell az RBAC (szerepalapú hozzáférés-vezérlés) engedélyeket, hogy a Fluentd hozzáférhessen a megfelelő összetevőkhöz.

1.fluentd-rbac.yaml:

apiVersion: v1 fajta: ServiceAccount metaadatok: név: fluentd névtér: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 fajta: ClusterRole metaadatok: név: fluentd névtér: kube-rendszer szabályai: - apiGroups: - ' 'erőforrások: - hüvelyek - névterek igék: - get - list - watch --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1beta1 metaadatok: név: fluentd roleRef: fajta: ClusterRole neve: fluentd apiGroup: rbac.authorization .k8s.io tárgyak: - fajta: ServiceAccount neve: fluentd névtér: kube-system

Létrehozás: $ kubectl create -f kubernetes / fluentd-rbac.yaml
Most létrehozhatjuk a DaemonSet-et.

2. fluentd-daemonset.yaml

apiVersion: extensions / v1beta1 kind: DaemonSet metaadatok: név: fluentd névtér: kube-rendszer címkék: k8s-app: fluentd-naplózó verzió: v1 kubernetes.io/cluster-service: 'true' specifikáció: sablon: metaadatok: címkék: k8s -app: fluentd-naplózó verzió: v1 kubernetes.io/cluster-service: 'true' spec: serviceAccount: fluentd serviceAccountName: fluentd tolerations: - kulcs: node-role.kubernetes.io/master effect: NoSchedule tárolók: - név: fluentd kép: fluent / fluentd-kubernetes-daemonset: v1.3-debian-elasticsearch env: - név: FLUENT_ELASTICSEARCH_HOST érték: 'elasticsearch.logging' - név: FLUENT_ELASTICSEARCH_PORT érték: '9200' - név: FLUENT_ELASTICSEARCH_S ' név: FLUENT_UID érték: '0' erőforrások: korlátok: memória: 200Mi kérések: cpu: 100m memória: 200Mi kötetMount: - név: varlog mountPath: / var / log - név: varlibdockercontainers mountPath: / var / lib / docker / containers readOnly : true befejezésGracePeriodSeconds: 30 kötet: - név: varlog hostPath: elérési út: / var / log - név: varlibdockercontainers hostPath: elérési út: / var / lib / docker / container

Ne felejtse el meghatározni a FLUENT_ELASTICSEARCH_HOST és a FLUENT_ELASTICSEARCH_PORT rugalmas keresési környezete szerint

végső vs végül vs végleges

Telepítés:

$ kubectl -f kubernetes / fluentd-daemonset.yaml létrehozása

Érvényesítse a naplókat

$ kubectl naplózza fluentd-lwbt6 -n kube-system | grep kapcsolat

Látnia kell, hogy a Fluentd csatlakozik az Elasticsearchhez a naplókban:

4. lépés: Vizualizálja a kubernetés adatokat Kibanában

  1. Csatlakozzon a kibana irányítópult URL-jéhez, hogy megkapja az Amazon ES konzolt
  2. A Fluentd által Kibanában gyűjtött naplók megtekintéséhez kattintson a „Kezelés” elemre, majd a „Kibana” alatt válassza az „Index minták” lehetőséget.
  3. válassza ki az alapértelmezett index mintát (logstash- *)
  4. Kattintson a Következő lépés elemre, állítsa be az „Időszűrő mező neve” (@ időbélyegző) elemet, majd válassza az Indexminta létrehozása lehetőséget
  5. Kattintson az Discover gombra az alkalmazásnaplók megtekintéséhez
  6. Kattintson a Megjelenítés elemre, válassza a Vizualitás létrehozása lehetőséget, és válassza a Pie lehetőséget. Töltse ki a következő mezőket az alábbiak szerint.
    • Válassza a Logstash- * indexet, majd kattintson a szeletek felosztására
    • Összesítés - Jelentős kifejezések
    • Mező = Kubernetes.pod_name.keyword
    • Méret - 10

7. És alkalmazza a változtatásokat

Ez az! Így vizualizálhatja a Kibanában létrehozott Kubernetes Pod alkalmazást.

Összegzés :

A naplóelemzéssel történő figyelés az alkalmazás központi telepítésének kritikus eleme. A Kubernetesben összegyűjtheti és összevonhatja a fürtöket a fürtön keresztül, hogy az egész fürtöt egyetlen irányítópultról figyelhesse. Példánkban láthattuk, hogy a kubernetes-klaszter és az Amazon ES közvetítő szerepet játszik. A Fluentd ötvözi a naplógyűjtést és az összesítést, és naplókat küld az Amazon ES-nek a naplóelemzéshez és az adatok megjelenítéséhez a kibanával.

A fenti példa bemutatja, hogyan adhatjuk hozzá az AWS Elastic keresési naplózást és a kibana felügyeletet a kubernetes fürthöz a fluentd használatával.

Ha relevánsnak találta ezt a Kubernetes blogot, nézze meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon.

Van egy kérdésünk? Kérjük, említse meg a megjegyzések részben, és kapcsolatba lépünk Önnel.