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:
- Kubernetes-fürt létrehozása
- Amazon ES klaszter létrehozása
- Telepítse a Fluentd naplózási ügynököt a Kubernetes-fürtön
- Vizualizálja a kuberneték dátumát Kibanában
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
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
- yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo
- yum install -y dokkoló-ce
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 EOFTelepí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
- systemctl start kubelet && systemctl engedélyezi a kubelet
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
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
- Jelentkezzen be az AWS Management Console-ba, és nyissa meg az Amazon Elasticsearch Service konzolt a címen https://console.aws.amazon.com/es/
- 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.
- A Verzió alatt hagyja meg az Elasticsearch verzió mező alapértelmezett értékét.
- Válassza a Tovább lehetőséget
- Írja be az Elastic keresési domain nevét a konfigurálja a fürtöt oldal alatt Konfigurálja a tartományt.
- 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
- 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.
- 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.
- Titkosítás alatt - Ne engedélyezze ezt az opciót
- 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).
- Válassza a Tovább lehetőséget
- 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.
- 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.
- Válassza a Tovább lehetőséget.
- 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
- Csatlakozzon a kibana irányítópult URL-jéhez, hogy megkapja az Amazon ES konzolt
- 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.
- válassza ki az alapértelmezett index mintát (logstash- *)
- 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
- Kattintson az Discover gombra az alkalmazásnaplók megtekintéséhez
- 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.