Selles artiklis saate teada, kuidas Kubernetes klastri sündmuste andmeid Amazonis avaldada kasutades logimisagenti Fluentd. Seejärel vaadatakse andmeid kasutades , Elasticsearchi avatud lähtekoodiga visualiseerimise tööriist. Amazon ES koosneb integreeritud Kibana integreerimisest.
Tutvustame teid järgmise protsessiga:
- Kubernetese klastri loomine
- Amazon ES klastri loomine
- Paigaldage Fluentdi logimisagent Kubernetes klastrisse
- Visualiseerige Kibanas kubernetese kuupäeva
1. samm: Kubernetese klastri loomine
Kubernetes on avatud lähtekoodiga platvorm, mille Google on loonud konteinerrakenduste haldamiseks. see võimaldab teil konteinerirakendusi hallata, skaleerida ja juurutada rühmitatud keskkonnas. Saame oma konteinereid erinevate hostide kaudu orkestreerida Kubernetes , laiendage konteinerirakendusi kõigi ressurssidega käigu pealt ja neil on tsentraliseeritud konteinerihalduskeskkond.
Alustame Kubernetes-klastri loomisega ja näitan teile samm-sammult, kuidas Kubernetes CentOS 7-sse installida ja konfigureerida.
üks. Hosti seadistamine
- vi / etc / hosts
- teha muudatusi vastavalt hostifailis olevatele hostiandmetele
2. Keelake SELinux, käivitades allpool olevad käsud
- setenforce 0
- sed -i –follow-symlinks ’s / SELINUX = jõustamine / SELINUX = keelatud / g’ / etc / sysconfig / selinux
3. Luba br_netfilter Kerneli moodul
Kubernetese installimiseks on vajalik moodul br_netfilter. Br_netfilter kerneli mooduli lubamiseks käivitage allolev käsk.- modprobe br_netfilter
- echo ’1’> / proc / sys / net / bridge / bridge-nf-call-iptables
Neli. Keela SWAP, käivitades käskude all.
- vahetada -a
- Seejärel muutke / etc / fstab ja kommenteerige vahetuse rida
5. Installige Docker CE uusim versioon.Paigaldage docker-ce paketisõltuvused käskude all.
- 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 installi -y docker-ce
6. Install Kubernetes
Kubernetese hoidla lisamiseks centos 7 süsteemi kasutage järgmist käsku.- yum install -y kubelet bebeadm kubectl
[kubernetes] nimi = Kubernetes baseurl = https: //packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 lubatud = 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 EOFInstallige pakendab kubeadm, kubelet ja kubectl, käivitades allpool käsu yum.
- systemctl start docker && systemctl lubab dockeri
Pärast installi lõppu taaskäivitage kõik need serverid.Pärast taaskäivitamist käivitage teenuste dokkija ja kubelet
- systemctl start docker && systemctl lubab dockeri
- systemctl start kubelet && systemctl lubab kubelet
- systemctl start kubelet && systemctl lubab kubelet
https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
Flanellivõrk on Kubernetes klastrisse juurutatud. Oodake mõnda aega ja kontrollige seejärel kubernetese sõlme ja kaunu, kasutades allolevaid käske.- kubectl saada sõlmed
- kubectl saada kaunad - kõik-nimeruumid
9. Sõlmede lisamine klastrisseLooge ühendus serveriga node01 ja käivitage käsk kubeadm join
- kubeadm join 172.31.7.47:6443 –token at03m9.iinkh5ps9q12sh2i –discovery-token-ca-cert-hash sha256: 3f6c1824796ef1ff3d9427c883bde915d5bc13331d74891d831f29a8c4
Looge ühendus serveriga node02 ja käivitage käsk kubeadm join
- kubeadm join 172.31.7.47:6443 –token at03m9.iinkh5ps9q12sh2i –discovery-token-ca-cert-hash sha256: 3f6c1824796ef1ff3d9427c883bde915d5bc13331d74891d831f29a8c4
Oodake mõnda aega ja kontrollige põhiklastri serverit ’k8s-master’, kontrollige sõlme ja kaunasid järgmise käsu abil.
- kubectl saada sõlmed
Nüüd saate töötaja1 ja töötaja2 on lisatud klastrisse olekuga ‘valmis’.
- kubectl saada kaunad - kõik-nimeruumid
Kubernetes klastrijuhi initsialiseerimine ja seadistamine on lõpule viidud.
2. samm: Amazon ES klastri loomine
Elasticsearch on avatud lähtekoodiga otsingu- ja analüüsimootor, mida kasutatakse logide analüüsimiseks ja rakenduste reaalajas jälgimiseks. Amazon Elasticsearch Service (Amazon ES) on AWS-teenus, mis võimaldab Elasticsearchi juurutamist, toimimist ja ulatust AWS-i pilves. Amazon ES-i abil saate analüüsida oma Amazon SES-i e-posti saatmise sündmusi
Loome Amazon ES klastri ja juurutame seejärel Fluentdi logimisagendi Kubernetes klastrisse, mis kogub logisid ja saadab Amazon ES klastrisse
Selles jaotises on näidatud, kuidas kasutada Amazon ES-i konsooli Amazon ES-klastri loomiseks.
Amazon ES klastri loomiseks
- Logige sisse AWS-i juhtimiskonsooli ja avage Amazon Elasticsearch Service'i konsool aadressil https://console.aws.amazon.com/es/
- Valige Looge uus domeen ja valige juurutamise tüüp Amazon ES konsoolis.
- Jaotises Versioon jätke välja Elasticsearch version vaikeväärtus.
- Valige Järgmine
- Sisestage oma elastse otsingu domeeni nimi klastri konfigureerimine leht all Domeeni seadistamine.
- Lehel Klastri konfigureerimine valige andmete eksemplaride all järgmised valikud
- Eksemplari tüüp - Valige t2.micro.elasticsearch (sobib tasuta tasemele).
- Eksemplaride arv - üks
- UnderPühendatud peaeksemplarid
- Luba pühendunud master - Ärge lubage seda suvandit.
- Luba tsooniteadlikkus - Ärge lubage seda suvandit.
- Jaotises Salvestuse konfiguratsioon valige järgmised suvandid.
- Salvestuse tüüp - Valige EBS. EBS-i seadete jaoks valige EBS-i mahtüüp Üldotstarbeline (SSD) ja EBS-i maht& thinsp10-st.
- Krüptimise all - Ärge lubage seda suvandit
- Hetkepildi konfiguratsiooni all
- Automatiseeritud hetktõmmise algustund - Valige Automatiseeritud hetktõmmiste algustund 00:00 UTC (vaikimisi).
- Valige Järgmine
- Valige jaotises Võrgukonfiguratsioon VPC juurdepääs ja valige üksikasjad vastavalt VPC-le.Kibana autentimise all: - ärge lubage seda suvandit.
- Juurdepääsupoliitika määramiseks valige Luba avatud juurdepääs domeenile.Märkus: - Tootmises peaksite piirama juurdepääsu konkreetsetele IP-aadressidele või vahemikele.
- Valige Järgmine.
- Vaadake lehel Ülevaatus oma seaded üle ja valige seejärel Kinnita ja looge.
Märkus. Klastri juurutamine võtab aega kuni kümme minutit. Kui klõpsate loodud elastse otsingu domeenil, võtke teadmiseks oma Kibana URL.
3. samm: juurutage Fluentdi logimisagent Kubernetes klastrisse
Fluentd on avatud lähtekoodiga andmekoguja, mis võimaldab andmete paremaks kasutamiseks ja mõistmiseks ühtlustada andmete kogumist ja tarbimist. Sellisel juhul juurutame Kubernetes klastrisse Fluentdi logimise, mis kogub logifailid ja saadab Amazon Elastic Searchi.
Loome ClusterRole'i, mis annab õigused kaunadele ja nimeruumi objektidele klastrite hankimise, loendamise ja vaatamise taotluste esitamiseks.
Esiteks peame konfigureerima RBAC-i (rollipõhise juurdepääsu juhtimise) õigused, et Fluentd pääseks juurde asjakohastele komponentidele.
1. fluentd-rbac.yaml:
apiVersion: v1 liik: ServiceAccount metaandmed: nimi: fluentd nimeruum: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 liik: ClusterRole metaandmed: nimi: fluentd nimeruum: kube-süsteemi reeglid: - apiGroups: - ' 'ressursid: - kaunad - nimeruumide verbid: - get - list - watch --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1beta1 metaandmed: nimi: fluentd roleRef: liik: ClusterRole nimi: fluentd apiGroup: rbac.authorization .k8s.io subjektid: - liik: ServiceAccount nimi: ladus nimeruum: kube-system
Loo: $ kubectl luua -f kubernetes / fluentd-rbac.yaml
Nüüd saame luua DaemonSeti.
2. fluentd-daemonset.yaml
apiVersion: extensions / v1beta1 kind: DaemonSet metaandmed: nimi: fluentd nimeruum: kube-süsteemi sildid: k8s-app: fluentd-logimise versioon: v1 kubernetes.io/cluster-service: 'true' spec: mall: metaandmed: siltid: k8s -app: fluentd-logimise versioon: v1 kubernetes.io/cluster-service: 'true' spec: serviceAccount: fluentd serviceAccountName: fluentd tolerantsid: - võti: node-role.kubernetes.io/master effect: NoSchedule konteinerid: - nimi: fluentd pilt: fluent / fluentd-kubernetes-daemonset: v1.3-debian-elasticsearch env: - nimi: FLUENT_ELASTICSEARCH_HOST väärtus: 'elasticsearch.logging' - nimi: FLUENT_ELASTICSEARCH_PORT väärtus: '9200' - nimi: FLUENT_ELASTICSEARCH_S ' nimi: FLUENT_UID väärtus: '0' ressursid: piirangud: mälu: 200Mi taotlused: protsessor: 100 m mälu: 200Mi mahtMounts: - nimi: varlog mountPath: / var / log - nimi: varlibdockercontainers mountPath: / var / lib / docker / container readNow : tõeline lõpetamineGracePeriodSeconds: 30 köidet: - nimi: varlog hostPath: tee: / var / log - nimi: varlibdockercontainers hostPath: tee: / var / lib / docker / container
Kindlasti määrake FLUENT_ELASTICSEARCH_HOST ja FLUENT_ELASTICSEARCH_PORT vastavalt teie elastsele otsingukeskkonnale
Juurutada:
$ kubectl luua -f kubernetes / fluentd-daemonset.yaml
Valideeri logid
ringraja planeerimise programm c-s
$ kubectl logib fluentd-lwbt6 -n kube-system | grep Ühendus
Peaksite nägema, et Fluentd loob logides ühenduse Elasticsearchiga:
4. samm: visualiseerige Kibanas kubernetese andmed
- Amazon ES-i konsoolilt saamiseks looge ühendus kibana armatuurlaua URL-iga
- Fluentdi Kibanas kogutud logide nägemiseks klõpsake nuppu „Haldus” ja seejärel valige jaotises „Kibana” „Indeksi mustrid”.
- vali vaikimisi indeksi muster (logstash- *)
- Klõpsake nuppu Järgmine samm ja määrake ajafiltrivälja nimi (@timestamp) ning valige käsk Loo registrimuster
- Rakenduste logide kuvamiseks klõpsake nuppu Avasta
- Klõpsake nuppu Visualiseeri, valige Visualiseerimine ja valige Pie. Täitke järgmised väljad, nagu allpool näidatud.
- Valige Logstash- * register ja klõpsake jagatud viilusid
- Liitmine - olulised terminid
- Field = Kubernetes.pod_name.keyword
- Suurus - 10
7. Ja rakendage muudatused
See on kõik! Nii saate visualiseerida Kibanas loodud Kubernetes Podi.
Kokkuvõte :
Logianalüüsi abil jälgimine on mis tahes rakenduse juurutamise kriitiline komponent. Kubernetes saate kogu klastri logisid koguda ja koondada, et jälgida kogu klastrit ühelt juhtpaneelilt. Oma näites oleme näinud ladusat tegutsemist vahendajana kubernetese klastri ja Amazon ES vahel. Fluentd ühendab logide kogumise ja liitmise ning saadab logid analüüsi ja andmete visualiseerimiseks Amazon ES-ile kibanaga.
Ülaltoodud näide näitab, kuidas lisada AWS Elastic otsingu logimine ja kibana jälgimine kubernetese klastrisse fluentd abil.
Kui leiate, et see Kubernetese ajaveeb on asjakohane, vaadake järgmist Edureka, usaldusväärne veebiõppeettevõte, mille võrgustik hõlmab üle 250 000 rahuloleva õppija, levinud üle kogu maailma.
Kas teil on meile küsimus? Palun mainige seda kommentaaride jaotises ja võtame teiega ühendust.