Avem construit containerul, configurarea mediului nostru Cloud si chiar setul nostru de cluster. Acum trebuie sa lansam un Pod, un ReplicaSet si un Serviciu, iar „Hello World for Kubernetes” va fi complet. FYI, in sfarsit este momentul sa intram cu adevarat in „scriptarea Kubernetes”.

Array

Pana acum tocmai ai fost in configurare.

ReplicaSet + Pods = Implementari

Un ReplicaSet, o versiune imbunatatita a unui controler de replicare dintr-o iteratie anterioara a Kubernetes, lucreaza cu Kubernetes Master pentru a gestiona Pod-urile. Daca un Pod este eliminat / terminat / se blocheaza / etc, atunci ReplicaSet va ucide Podul si va recrea un nou Pod pentru a asigura niveluri ridicate de consistenta pentru aplicatia dvs.

Array

Un Pod este un container pentru containere. Majoritatea Pod-urilor au o relatie 1-la-1 intre un Pod si un container, insa nu este o cerinta. Daca un container trebuie sa partajeze resurse cu alte containere, atunci puteti include mai multe containere intr-un singur Pod.

Array

O implementare reuneste ReplicaSets si Pods intr-un singur proces pentru (obtineti acest lucru!) Sa va implementati aplicatia. Serios, au cateva nume directe – imi place.

Urmatorul fisier YAML (inclus in Github) defineste implementarea noastra. Vom lansa acest lucru cu un Serviciu in curand.

apiVersion: apps / v1beta1

kind: Deployment # este o

metadata de implementare :

nume: puncte finale # numele

etichetelor de

implementare : # orice poduri cu etichete potrivite sunt incluse in aceasta

aplicatie de implementare : nivel kubernetes-series

: endpoints

spec:

# ReplicaSet specificati

replici : 3 # facem 3

selectoare

Pods : matchLabels: # Etichetele ReplicaSet vor potrivi Pods cu urmatorul

nivel de etichete :

sablon

puncte finale : #

Metadate

sablon Pod : etichete: #

Aplicatia etichetelor Pod :kubernetes-series

tier: endpoints

spec:

#

Contenitori de specificatii pod :

# containerul (containerele) din acest Pod

nume: partone-container

image: gcr.io/PROJECT_NAME/partone-container:latest

# variabile de mediu pentru Pod

env:

nume: GCLOUD_PROJECT

valoare: PROJECT_NAME

# vom folosi acest lucru mai tarziu

# pentru moment creeaza un punct final personalizat

# pentru acest pod

nume: POD_ENDPOINT

valoare: punct final

nume: NODE_ENV

valoare:

porturi de

productie :containerPort: 80

Serviciu

Cu o implementare, Pod-urile noastre se reproduc corect in cadrul cluster-ului, dar inca nu am creat o modalitate prin care lumea sa ajunga la cluster-ul / Pod-urile noastre. Cu un serviciu, cream si deschidem interfetele de retea necesare pentru a interactiona cu Pod-urile noastre.

Urmatorul fisier YAML (inclus in Github) defineste serviciul nostru. Vom lansa acest lucru odata cu implementarea noastra.

apiVersion: v1

kind: Service # o modalitate prin care lumea exterioara poate ajunge la

metadatele

Pods : # orice Pods cu etichete potrivite sunt incluse in acest Serviciu

Nume: puncte finale

spec:

# Service porturi

porturi:

nume: http

port: 80

targetPort: 8080

protocol: TCP

nume:

port https : 443

targetPort:

protocol 8443 : TCP

# Include un LoadBalancer intre

tipuri Pods : LoadBalancer

selector:

app: kubernetes-series

Lansa

Cu service.yaml gata si implementarea deployment.yaml impreuna, este timpul sa implementam totul, astfel incat sa putem vedea ce se intampla. Am configurat urmatorul script pentru a rula, care va implementa totul. Apoi, trebuie doar sa asteptam ca adresa IP externa sa fie disponibila pentru Load Balancer. Obtinerea adresei IP externe poate dura un minut sau doua, pur si simplu rulati scripturile si va va astepta si urmari.

$ cd kubernetes-series / partone / scripts # daca este necesar

$ sh deploy.sh

$ sh check-endpoint.sh

Acum tot ce trebuie sa facem este sa asteptam. Asteptati ca adresa IP externa sa fie disponibila … oh, gata!

In asteptarea adresei IP externe dulci si dulci

Cu ajutorul adresei IP rezultate, puteti atinge aplicatia uimitoare Hello World Kubernetes.

Vreau sa va reamintesc ca acesta este doar inceputul. Exista atat de multe lucruri pe care le putem si vom face pe baza acestui lucru. Acum, ca avem o linie de baza pe care o putem rezolva, putem face fata mai multor coduri si putem intra in lucrurile distractive.