Am trecut prin documentația K8s pe DNS pentru servicii și poduri.Sarcina principală pe care vreau să o rezolv este implementarea mea K8s NodePort
ca tip de serviciu. Adică, folosesc adresele IP externe de la noduri pentru a expune serviciul la Internet. Când fac acest lucru, adresa mea IP este expusă și ar prefera mai degrabă să aibă un nume de gazdă [un nume DNS]. Parcurgând documentația de mai sus, nu înțeleg multe dintre concepte datorită faptului că sunt nou în K8s.
Am configurat Ingress Controller de la NGINX pentru Bare Metal K8s, deoarece furnizorul meu de cloud nu oferă serviciu de echilibrare a sarcinii.
Deci intrebarea mea este:
Cum configurez un ExternalDNS în clusterul meu K8s?
În scop de referință, acestea sunt resursele mele din clusterul K8s.
Spații de nume
NUME STARE VARSTA
implicit Activ 3d12h
ingress-nginx Activ 5h53m
kube-node-lease Activ 3d12h
kube-public Active 3d12h
kube-system Active 3d12h
Practic, am toate implementările mele în interiorul Mod implicit
spatiu de nume.
kubectl obține totul -n implicit
STAREA NUMELE GATA REINCEPE VARSTA
pod/hello-docker-cc749b757-qfctr 1/1 Alergare 0 70m
NUME TIP CLUSTER-IP EXTERN-IP PORT(E) Vârsta
service/hello-docker NodePort 10.xxx.xxx.xxx <niciunul> 3000:30072/TCP 70m
service/kubernetes ClusterIP 10.xxx.xxx.xxx <niciunul> 443/TCP 3d12h
NUME GATA ACTUALIZAT VÂRSTA DISPONIBILĂ
deployment.apps/hello-docker 1/1 1 1 70m
NUME VÂRSTA ACTUALĂ GATA DEZIRATĂ
replicaset.apps/hello-docker-cc749b757 1 1 1 70m
Și acesta este fișierul manifest pe care îl am pentru service și implementare salut-docker
aplicatie:
apiVersion: v1
fel: Serviciu
metadate:
nume: hello-docker
etichete:
aplicație: hello-docker
specificație:
tip: NodePort
porturi:
- port: 3000
targetPort: 8000
protocol: TCP
nume: http
selector:
aplicație: hello-docker
---
apiVersion: apps/v1
fel: Desfăşurare
metadate:
nume: hello-docker
etichete:
aplicație: hello-docker
specificație:
replici: 1
selector:
matchLabels:
aplicație: hello-docker
șablon:
metadate:
etichete:
aplicație: hello-docker
specificație:
imagePullSecrets:
- nume: regcred
containere:
- nume: hello-docker
imagine: sebastian/hello-docker:1.1
imagePullPolicy: Întotdeauna
porturi:
- containerPort: 8000
Orice feedback și sugestie ar fi foarte apreciat.