Kaip realiuoju laiku vizualizuoti „Kubernetes“ grupių įvykius



Šis tinklaraščio įrašas padės jums sužinoti, kaip paskelbti „Kubernetes“ grupių įvykių duomenis „Amazon Elastic Search“ naudojant „Fluentd“ registravimo agentą.

Šiame straipsnyje sužinosite, kaip „Amazon“ skelbti „Kubernetes“ grupių įvykių duomenis naudojant „Fluentd“ registravimo agentą. Tada duomenys bus peržiūrimi naudojant , atvirojo kodo vizualizavimo įrankis, skirtas „Elasticsearch“. „Amazon ES“ sudaro integruota „Kibana“ integracija.

Apžiūrėsime jus tokiu procesu:





1 žingsnis: „Kubernetes“ sankaupos sukūrimas

„Kubernetes“ yra „Google“ sukurta atvirojo kodo platforma konteinerių programoms tvarkyti. tai leidžia tvarkyti, keisti mastelį ir diegti sudėtines programas sudėtinėje aplinkoje. Mes galime suderinti savo konteinerius su įvairiais kompiuteriais Valdytojai , skirstykite konteineriuose esančias programas iš karto naudodamiesi visais ištekliais ir turite centralizuotą konteinerių valdymo aplinką.

Pradėsime nuo „Kubernetes“ klasterio kūrimo ir aš jums žingsnis po žingsnio pademonstruosiu, kaip įdiegti ir konfigūruoti „Kubernetes“ sistemoje „CentOS 7“.



vienas. Konfigūruoti šeimininkus

    • vi / etc / hosts
    • atlikite pakeitimus pagal pagrindinio kompiuterio informaciją pagrindiniame faile

IMG1 - „Elasticsearch“ - „Edureka“

2. Išjunkite „SELinux“ vykdydami žemiau esančias komandas



    • setenforce 0
    • sed -i –follow-symlinks ‘s / SELINUX = vykdymas / SELINUX = išjungtas / g’ / etc / sysconfig / selinux

3. Įgalinti br_netfilter branduolio modulį

„Br_netfilter“ modulis reikalingas diegiant „kubernetes“. Vykdykite toliau pateiktą komandą, kad įgalintumėte br_netfilter branduolio modulį.
    • modprobe br_netfilter
    • echo ‘1’> / proc / sys / net / bridge / bridge-nf-call-iptables

Keturi. Išjunkite SWAP vykdydami žemiau esančias komandas.

    • apsikeitimo -a
    • Tada redaguokite / etc / fstab ir pakomentuokite apsikeitimo eilutę

pradžia su vizualine studija

5. Įdiekite naujausią „Docker CE“ versiją.Įdiekite „docker-ce“ paketo priklausomybes vykdydami žemiau esančias komandas.

    • yum install -y yum-utils device-mapper-persistent-data lvm2
Pridėkite „Docker“ saugyklą prie sistemos ir įdiekite „Docker-ce“ naudodami komandą „yum“.

6. Įdiekite „Kubernetes“

Norėdami pridėti „kubernetes“ saugyklą prie „centos 7“ sistemos, naudokite šią komandą.
    • yum install -y kubelet bebeadm kubectl

[kubernetes] name = Kubernetes baseurl = https: //packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 įgalintas = 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
Įdiekite paketus kubeadm, kubelet ir kubectl naudojant paleidžiant žemiau esančią komandą yum.
  • systemctl start docker && systemctl įgalinti docker

Baigę diegti, iš naujo paleiskite visus tuos serverius.Paleidus iš naujo paleiskite paslaugų doką ir „kubelet“

  • systemctl start docker && systemctl įgalinti docker
  • systemctl start kubelet && systemctl įjungti kubelet
7. „Kubernetes“ grupių inicijavimas Prisijunkite prie pagrindinio serverio ir vykdykite žemiau esančią komandą
  • systemctl start kubelet && systemctl įjungti kubelet
Baigę „Kubernetes“ inicijavimą, gausite rezultatus.Nukopijuokite komandas iš gautų rezultatų ir vykdykite, kad pradėtumėte naudoti grupę. Rezultatuose užrašykite komandą kubeadm join. Komanda bus naudojama norint užregistruoti naujus kubernetų sankaupos mazgus. 8. Įdėkite flanelinį tinklą į „kubernetes“ grupę kubectl taikyti -f

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

Flanelinis tinklas buvo įdiegtas į „Kubernetes“ grupę. Palaukite šiek tiek laiko, tada naudodami toliau pateiktas komandas patikrinkite kubernetės mazgą ir ankštis.
    • kubectl gauti mazgus
    • kubectl gauti ankštys - visos vardų erdvės
Jūs gausite, kad mazgas „k8s-master“ veikia kaip „pagrindinis“ klasteris, kurio būsena yra „paruošta“, ir gausite visas klasteriui reikalingas ankštis, įskaitant tinklo kub-flannel-ds konfigūracija.

9. Mazgų pridėjimas į grupęPrisijunkite prie „node01“ serverio ir vykdykite komandą „kubeadm join“

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

Prisijunkite prie „node02“ serverio ir vykdykite komandą „kubeadm join“

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

Palaukite šiek tiek laiko ir patvirtinkite „k8s-master“ pagrindinio sankaupos serverį, patikrinkite mazgus ir ankštis naudodami šią komandą.

      • kubectl gauti mazgus

Dabar gausite darbuotoją1, o darbuotojas2 buvo pridėtas prie grupės su būsena „pasirengęs“.

      • kubectl gauti ankštys - visos vardų erdvės

Baigtas „Kubernetes“ grupių pagrindinio inicializavimas ir konfigūravimas.

2 žingsnis: „Amazon ES“ grupės kūrimas

„Elasticsearch“ yra atviro kodo paieškos ir analizės variklis, naudojamas žurnalo analizei ir programų stebėjimui realiuoju laiku. „Amazon Elasticsearch Service“ („Amazon ES“) yra AWS paslauga, leidžianti įdiegti, valdyti ir išplėsti „Elasticsearch“ AWS debesyje. Galite naudoti „Amazon ES“ analizuodami el. Pašto siuntimo įvykius iš savo „Amazon“ SES

Sukursime „Amazon ES“ klasterį ir tada „Kubernetes“ klase dislokuosime „Fluentd“ registravimo agentą, kuris rinks žurnalus ir išsiųs į „Amazon ES“ klasterį

Šiame skyriuje parodyta, kaip naudoti „Amazon ES“ konsolę kuriant „Amazon ES“ klasterį.

Norėdami sukurti „Amazon ES“ grupę

    1. Prisijunkite prie „AWS Management Console“ ir atidarykite „Amazon Elasticsearch Service“ konsolę adresu https://console.aws.amazon.com/es/
    2. Pasirinkite Sukurkite naują domeną ir pasirinkite Diegimo tipas „Amazon ES“ konsolėje.
    3. Dalyje Versija palikite numatytąją lauko „Elasticsearch version“ vertę.
    4. Pasirinkite Kitas
    5. Įveskite savo elastinės paieškos domeno pavadinimą konfigūruoti klasterį puslapis po Konfigūruoti domeną.
    6. Puslapyje „Konfigūruoti sankaupą“ dalyje „Duomenų egzemplioriai“ pasirinkite šias parinktis
      • Egzemplioriaus tipas - Pasirinkite t2.micro.elasticsearch (tinkama nemokama pakopa).
      • Egzempliorių skaičius - vienas
    7. PagalSkirtos pagrindinės instancijos
      • Įgalinti dedikuotą meistrą - Neįgalinkite šios parinkties.
      • Įgalinti zonos supratimą - Neįgalinkite šios parinkties.
    8. Dalyje Saugyklos konfigūracija pasirinkite šias parinktis.
      • Saugyklos tipas - Pasirinkite EBS. Norėdami nustatyti EBS parametrus, pasirinkite EBS tūrio tipą Bendrosios paskirties (SSD) ir EBS tūrio dydį& thinspiš 10.
    9. Pagal šifravimą - Neįgalinkite šios parinkties
    10. Pagal momentinės nuotraukos konfigūraciją
      • Automatizuota momentinės nuotraukos pradžios valanda - Pasirinkite Automatinis momentinių nuotraukų pradžios laikas 00:00 UTC (numatytasis nustatymas).
    11. Pasirinkite Kitas
    12. Skiltyje Tinklo konfigūracija pasirinkite „VPC Access“ ir pasirinkite išsamią informaciją, kaip nurodyta jūsų VPC žemiau.Pagal „Kibana“ autentifikavimą: - neįjunkite šios parinkties.
    13. Norėdami nustatyti prieigos politiką, pasirinkite Leisti atvirą prieigą prie domeno.Pastaba: - Gamindami turėtumėte apriboti prieigą prie konkrečių „IPaddress“ ar „Ranges“.
    14. Pasirinkite Kitas.
    15. Puslapyje „Peržiūra“ peržiūrėkite nustatymus, tada pasirinkite Patvirtinti ir sukurti.

Pastaba: Grupės diegimas užtruks iki dešimties minučių. Kai spustelėsite sukurtą elastingos paieškos domeną, atkreipkite dėmesį į savo „Kibana“ URL.

3 žingsnis: „Fluentd“ registravimo agento diegimas „Kubernetes“ grupėje

„Fluentd“ yra atviro kodo duomenų rinkėjas, leidžiantis suvienodinti duomenų rinkimą ir vartojimą, kad būtų geriau naudojami ir suprantami duomenys. Tokiu atveju „Kubernetes“ klasteryje įdiegsime „Fluentd“ registravimą, kuris surinks žurnalo failus ir išsiųs į „Amazon Elastic Search“.

Mes sukursime „ClusterRole“, kuris suteikia leidimus ankštims ir vardų srities objektams gauti, gauti ir įtraukti užklausas į grupes.

Pirmiausia turime sukonfigūruoti RBAC (vaidmens pagrindu veikiančios prieigos kontrolės) leidimus, kad „Fluentd“ galėtų pasiekti atitinkamus komponentus.

1. fluentd-rbac.yaml:

apiVersion: v1 rūšis: ServiceAccount metaduomenys: pavadinimas: fluentd vardų sritis: kube-system --- apiVersion: rbac.authorization.k8s.io/v1beta1 rūšis: ClusterRole metaduomenys: vardas: fluentd vardų sritis: kube-sistemos taisyklės: - apiGroups: - ' 'ištekliai: - ankštys - vardų veiksmažodžiai: - get - list - watch --- kind: ClusterRoleBinding apiVersion: rbac.authorization.k8s.io/v1beta1 metaduomenys: pavadinimas: fluentd roleRef: rūšis: ClusterRole name: fluentd apiGroup: rbac.authorization .k8s.io dalykai: - rūšis: „ServiceAccount“ pavadinimas: laisva vardų sritis: kube-system

Sukurti: $ kubectl sukurti -f kubernetes / fluentd-rbac.yaml
Dabar galime sukurti „DaemonSet“.

ką „java“ veikia system.exit (0)

2. fluentd-daemonset.yaml

apiVersion: extensions / v1beta1 kind: DaemonSet metadata: name: fluentd namespace: kube-system labels: k8s-app: fluentd-logging version: v1 kubernetes.io/cluster-service: 'true' spec: template: metadata: labels: k8s -app: fluentd-logging versija: v1 kubernetes.io/cluster-service: „true“ spec: serviceAccount: fluentd serviceAccountName: fluentd tolerancijos: - raktas: node-role.kubernetes.io/master effect: „NoSchedule“ konteineriai: - pavadinimas: fluentd image: fluent / fluentd-kubernetes-daemonset: v1.3-debian-elasticsearch env: - vardas: FLUENT_ELASTICSEARCH_HOST reikšmė: 'elasticsearch.logging' - pavadinimas: FLUENT_ELASTICSEARCH_PORT reikšmė: '9200' - pavadinimas: FLUENT_ELASTICSEARCH_S ' pavadinimas: FLUENT_UID reikšmė: „0“ ištekliai: apribojimai: atmintis: 200 „MyMi“ užklausos: procesorius: 100 m. atmintis: 200 „MyMi“ apimties: „Mount“ - pavadinimas: „varlog mountPath“: / var / log - pavadinimas: varlibdockercontainers mountPath: / var / lib / docker / container readOnly : true nutraukimasGracePeriodSeconds: 30 tomų: - vardas: varlog hostPath: kelias: / var / log - vardas: varlibdockercontainers hostPath: kelias: / var / lib / docker / container

Būtinai nustatykite FLUENT_ELASTICSEARCH_HOST ir FLUENT_ELASTICSEARCH_PORT pagal savo elastingą paieškos aplinką

Diegti:

$ kubectl sukurti -f kubernetes / fluentd-daemonset.yaml

Patvirtinkite žurnalus

$ kubectl rąstai fluentd-lwbt6 -n kube-system | grep Ryšys

Turėtumėte pamatyti, kad „Fluentd“ prisijungia prie „Elasticsearch“ žurnaluose:

4 žingsnis: vizualizuokite „kubernetes“ duomenis Kibanoje

  1. Prisijunkite prie kibano informacijos suvestinės URL, kad gautumėte iš „Amazon ES“ konsolės
  2. Norėdami pamatyti „Fluentd“ surinktus žurnalus Kibanoje, spustelėkite „Valdymas“, tada skiltyje „Kibana“ pasirinkite „Rodyklės modeliai“.
  3. pasirinkite numatytąjį indekso modelį (logstash- *)
  4. Spustelėkite „Kitas žingsnis“ ir nustatykite „Laiko filtro lauko pavadinimas“ (@timestamp) ir pasirinkite Kurti indekso modelį
  5. Spustelėkite „Atrasti“, kad peržiūrėtumėte savo programų žurnalus
  6. Spustelėkite Vizualizuoti ir pasirinkite sukurti vizualizaciją ir pasirinkite „Pie“. Užpildykite šiuos laukus, kaip parodyta žemiau.
    • Pasirinkite „Logstash- *“ indeksą ir spustelėkite skaidinius
    • Apibendrinimas - reikšmingi terminai
    • Laukas = Kubernetes.pod_name.keyword
    • Dydis - 10

7. Ir pritaikykite pakeitimus

Viskas! Taip galite vizualizuoti „Kubernetes Pod“, sukurtą Kibanoje.

Santrauka :

Stebėjimas pagal žurnalo analizę yra svarbiausias bet kurios programos diegimo komponentas. Galite rinkti ir konsoliduoti žurnalus visame savo grupėje „Kubernetes“, kad galėtumėte stebėti visą sankaupą iš vienos informacijos suvestinės. Savo pavyzdyje matėme, kad sklandžiai veikia kaip tarpininkas tarp kubernetų klasterio ir „Amazon ES“. „Fluentd“ sujungia žurnalų rinkimą ir kaupimą bei siunčia žurnalus į „Amazon ES“ žurnalų analizei ir duomenų vizualizavimui su kibana.

Ankstesniame pavyzdyje parodyta, kaip pridėti „AWS Elastic“ paieškos registravimą ir kibanų stebėjimą prie „kubernetes“ grupės, naudojant „fluentd“.

c ++ fibonacci serija

Jei radote šį „Kubernetes“ tinklaraštį aktualų, patikrinkite sukūrė patikima internetinė mokymosi įmonė „Edureka“, turinti daugiau nei 250 000 patenkintų besimokančiųjų tinklą visame pasaulyje.

Turite mums klausimą? Prašau paminėti tai komentarų skiltyje ir mes su jumis susisieksime.