De documentatie van dit product is waar mogelijk geschreven met inclusief taalgebruik. Inclusief taalgebruik wordt in deze documentatie gedefinieerd als taal die geen discriminatie op basis van leeftijd, handicap, gender, etniciteit, seksuele oriëntatie, sociaaleconomische status of combinaties hiervan weerspiegelt. In deze documentatie kunnen uitzonderingen voorkomen vanwege bewoordingen die in de gebruikersinterfaces van de productsoftware zijn gecodeerd, die op het taalgebruik in de RFP-documentatie zijn gebaseerd of die worden gebruikt in een product van een externe partij waarnaar wordt verwezen. Lees meer over hoe Cisco gebruikmaakt van inclusief taalgebruik.
Cisco heeft dit document vertaald via een combinatie van machine- en menselijke technologie om onze gebruikers wereldwijd ondersteuningscontent te bieden in hun eigen taal. Houd er rekening mee dat zelfs de beste machinevertaling niet net zo nauwkeurig is als die van een professionele vertaler. Cisco Systems, Inc. is niet aansprakelijk voor de nauwkeurigheid van deze vertalingen en raadt aan altijd het oorspronkelijke Engelstalige document (link) te raadplegen.
In dit document wordt de configuratie beschreven om een Kubernetes-cluster van Cisco Intersight (SaaS) met productiekwaliteit te leveren met behulp van Cisco Intersight™ Kubernetes Service (IKS).
Kubernetes is de laatste tijd uitgegroeid tot een de facto container management tool, omdat organisaties de neiging hebben om meer te investeren in applicatie modernisering met Containerized oplossingen. Met Kubernetes kunnen ontwikkelteams hun containertoepassingen eenvoudig implementeren, beheren en schalen, waardoor innovaties toegankelijker worden voor hun continue leveringspijpleidingen.
Kubernetes brengt echter operationele uitdagingen met zich mee, omdat het tijd en technische expertise vereist om te installeren en te configureren.
Het installeren van Kubernetes en de verschillende vereiste softwarecomponenten, het creëren van clusters, het configureren van opslag, netwerken en beveiliging, samen met activiteiten (bijv. upgraden, bijwerken en patchen van kritieke beveiligingsfouten) vereisen voortdurende aanzienlijke investeringen in menselijk kapitaal.
Voer IKS in, een kant-en-klare SaaS-oplossing voor het overal beheren van consistente Kubernetes van productiekwaliteit. Om meer te lezen over de mogelijkheden van IKS, bekijk deze link hier.
Voor dit document is het idee om IKS's vermogen om naadloos te integreren met uw on-prem infrastructuur, met VMware ESXi en vCenter, te willen laten zien.
Met een paar klikken kunt u een Kubernetes-cluster met productiekwaliteit op uw VMware-infrastructuur implementeren.
Maar om dat te doen, moet u uw on-prem vCenter integreren met Intersight, dat bekend staat als 'een doelwit claimen', vCenter is hier het doelwit.
U hebt een Cisco Intersight Assist Virtual Appliance nodig, waarmee u eindpuntdoelen kunt toevoegen aan Cisco Intersight. U kunt Intersight Assist installeren met behulp van de bootstrap OVA die beschikbaar is op de officiële website van Cisco.
Om de reikwijdte van dit document te beperken, zouden we ons niet richten op de installatie van Cisco Intersight Assist Virtual Appliance. U kunt hier het proces bekijken
Cisco raadt kennis van de volgende onderwerpen aan:
Dit document is niet beperkt tot specifieke software- en hardware-versies.
Aangezien de implementatie van een Cisco Intersight Appliance buiten het bereik van dit document valt.
We gaan ervan uit dat u al een werkend Intersight-account hebt en er met succes een on-prem vCenter/Esxi op hebt geclaimd.
De informatie in dit document is gebaseerd op de apparaten in een specifieke laboratoriumomgeving. Alle apparaten die in dit document worden beschreven, hadden een opgeschoonde (standaard)configuratie. Als uw netwerk live is, moet u zorgen dat u de potentiële impact van elke opdracht begrijpt.
Beleid maakt vereenvoudigd beheer mogelijk doordat de configuratie wordt geabstraheerd in herbruikbare sjablonen.
Enkele van de beleidsregels die we moeten configureren, worden hieronder vermeld. Houd er rekening mee dat al deze beleidsregels worden gemaakt onder Configureren >> Beleid en configuratie >> Pools in het gedeelte Intersight.
U kunt het pad van het beleid te zien op de top van elke screenshot ook, hieronder.
Deze IP-pool wordt gebruikt voor IP-adressen op de virtuele machines van uw besturings- en werkknooppunten wanneer deze op de ESXi-host worden gestart.
Hier definieert u het Pod and Services Network CIDR, voor interne netwerken binnen het Kubernetes-cluster.
Diensten en netwerk CIDR
Dit beleid definieert uw NTP- en DNS-configuratie.
NTP- en DNS-configuratie
Met dit beleid kunt u de proxyconfiguratie voor de runtime van uw dockercontainer definiëren.
Proxyconfiguratie voor Docker
In dit beleid definieert u de configuratie die nodig is voor de virtuele machines die worden geïmplementeerd als master- en workerknooppunten.
Configuratie van gebruikte VM's
Zodra we het bovenstaande beleid hebben gemaakt, zouden we ze vervolgens binden in een profiel dat we vervolgens kunnen inzetten.
Door configuratie te implementeren met behulp van beleidsregels en profielen wordt de configuratielaag geabstraheerd, zodat deze herhaaldelijk en snel kan worden geïmplementeerd.
U kunt dit profiel kopiëren en een nieuw profiel maken met weinig of meer wijzigingen in het onderliggende beleid binnen enkele minuten, naar een of meer Kubernetes-clusters in een fractie van de tijd die nodig is met een handmatig proces.
Geef de naam op en stel tags in.
Profielconfiguratie met naam en tags
Stel het CIDR-beleid voor de pool, het besturingssysteem van de node en het netwerk in. U moet ook een gebruikersnaam en SSH-sleutel configureren (openbaar).
De bijbehorende privésleutel zou worden gebruikt om te ssh in Master & Worker-knooppunten.
Profielconfiguratie met toegewezen beleidsregels
Configureer het controlevlak: u kunt bepalen hoeveel hoofdknooppunten u nodig hebt op het controlevlak.
Hoofdknooppuntconfiguratie
Configureer de knooppunten van de werknemer: Afhankelijk van de toepassingsvereisten kunt u de knooppunten van de werknemer opschalen of verkleinen.
Configuratie van werkknooppunten
Add-on configureren. Vanaf nu kunt u automatisch Kubernetes, Dashboard en Graffana implementeren met Prometheus-monitoring.
In de toekomst kunt u meer add-ons toevoegen die u automatisch kunt implementeren met behulp van IKS.
Add-ON's indien aanwezig
Controleer het overzicht en klik op Implementeren.
Overzichtsscherm Profiel maken
Gebruik deze sectie om te controleren of uw configuratie goed werkt.
Rechtsboven kunt u de voortgang van de implementatie volgen.
Verifiëren met IKS GUI
Naarmate de implementatie vordert, kunt u uw Kubernetes Master- en Worker-knooppunten zien verschijnen in het vCenter.
IKS-cluster verschijnt in vCenter
Als u gedetailleerde stappen voor de implementatie wilt zien, kunt u verder in de uitvoering boren.
Uitvoering van profielcreatie
U kunt op de volgende manieren verbinding maken met het Kubernetes-cluster:
Met behulp van het bestand KubeConfig, dat u kunt downloaden van Operate > Kubernetes > Selecteer de opties aan de rechterkant.
U moet KubeCtl hebben geïnstalleerd op het werkstation Beheer, vanwaar u toegang wilt krijgen tot dit cluster.
KubeConfig-bestand downloaden van IKS
U kunt ook rechtstreeks SSH naar de hoofdnode sturen, met SSH-toepassingen zoals Putty, waarbij de referenties en de privésleutel zijn geconfigureerd op het moment van implementatie
Als u 'Kubernetes Dashboard' implementeert als een add-on, kunt u dat ook gebruiken om toepassingen rechtstreeks met behulp van GUI te implementeren.
Voor meer informatie kunt u de sectie 'Toegang tot Kubernetes-clusters' bekijken, hier:
Als u eenmaal verbinding kunt maken met het Kubernetes-cluster met behulp van kubeCtl, kunt u de volgende opdrachten gebruiken om te controleren of alle componenten in het cluster zijn geïnstalleerd en actief zijn.
Controleer of de knooppunten in het cluster zich in de status 'gereed' bevinden.
iksadmin@kubek8scl1-controlpl-b8a50f8235:~$ kubectl get nodes
NAME STATUS ROLES AGE VERSION
kubek8scl1-caaskubew-6ba6bf794e Ready 6d4h v1.19.5
kubek8scl1-caaskubew-caa202993e Ready 6d4h v1.19.5
kubek8scl1-controlpl-b8a50f8235 Ready master 6d4h v1.19.5
Controleer de status van de pods die zijn gemaakt op het moment van de installatie van de essentiële componenten op het cluster.
iksadmin@kubek8scl1-controlpl-b8a50f8235:~$ kubectl get pod -n iks | grep apply-
apply-ccp-monitor-2b7tx 0/1 Completed 0 6d3h
apply-cloud-provider-qczsj 0/1 Completed 0 6d3h
apply-cni-g7dcc 0/1 Completed 0 6d3h
apply-essential-cert-ca-jwdtk 0/1 Completed 0 6d3h
apply-essential-cert-manager-bg5fj 0/1 Completed 0 6d3h
apply-essential-metallb-nzj7h 0/1 Completed 0 6d3h
apply-essential-nginx-ingress-8qrnq 0/1 Completed 0 6d3h
apply-essential-registry-f5wn6 0/1 Completed 0 6d3h
apply-essential-vsphere-csi-tjfnq 0/1 Completed 0 6d3h
apply-kubernetes-dashboard-rslt4 0/1 Completed 0 6d3h
Controleer de status van de pod met de CCP-helm-operator die het lokaal draaiende roer beheert en add-ons installeert.
iksadmin@kubek8scl1-controlpl-b8a50f8235:~$ kubectl get helmcharts.helm.ccp.----.com -A
NAMESPACE NAME STATUS VERSION INSTALLED VERSION SYNCED
iks ccp-monitor INSTALLED 0.2.61-helm3
iks essential-cert-ca INSTALLED 0.1.1-helm3
iks essential-cert-manager INSTALLED v1.0.2-cisco1-helm3
iks essential-metallb INSTALLED 0.12.0-cisco3-helm3
iks essential-nginx-ingress INSTALLED 2.10.0-cisco2-helm3
iks essential-registry INSTALLED 1.8.3-cisco10-helm3
iks essential-vsphere-csi INSTALLED 1.0.1-helm3
iks kubernetes-dashboard INSTALLED 3.0.2-cisco3-helm3
iks vsphere-cpi INSTALLED 0.1.3-helm3
iksadmin@kubek8scl1-controlpl-b8a50f8235:~$ helm ls -A
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /home/iksadmin/.kube/config
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
addon-operator iks 1 2021-11-05 07:45:15.44180913 +0000 UTC deployed ccp-helm-operator-9.1.0-alpha.44.g415a48c4be1.0
ccp-monitor iks 1 2021-11-05 08:23:11.309694887 +0000 UTC deployed ccp-monitor-0.2.61-helm3
essential-cert-ca iks 1 2021-11-05 07:55:04.409542885 +0000 UTC deployed cert-ca-0.1.1-helm3 0.1.0
essential-cert-manager iks 1 2021-11-05 07:54:41.433212634 +0000 UTC deployed cert-manager-v1.0.2-cisco1-helm3 v1.0.2
essential-metallb iks 1 2021-11-05 07:54:48.799226547 +0000 UTC deployed metallb-0.12.0-cisco3-helm3 0.8.1
essential-nginx-ingress iks 1 2021-11-05 07:54:46.762865131 +0000 UTC deployed ingress-nginx-2.10.0-cisco2-helm3 0.33.0
essential-registry iks 1 2021-11-05 07:54:36.734982103 +0000 UTC deployed docker-registry-1.8.3-cisco10-helm3 2.7.1
essential-vsphere-csi kube-system 1 2021-11-05 07:54:58.168305242 +0000 UTC deployed vsphere-csi-1.0.1-helm3 v2.0.0
kubernetes-dashboard iks 1 2021-11-05 07:55:10.197905183 +0000 UTC deployed kubernetes-dashboard-3.0.2-cisco3-helm3 2.1.0
vsphere-cpi kube-system 1 2021-11-05 07:54:38.292088943 +0000 UTC deployed vsphere-cpi-0.1.3-helm3 1.1.0
Controleer de status van de essentiële* pods die de essentiële (kern) add-ons beheren, die standaard zijn geïnstalleerd op elk IKS-tenantcluster.
iksadmin@kubek8scl1-controlpl-b8a50f8235:~$ kubectl get pod -n iks | grep ^essential-
essential-cert-manager-6bb7d776d-tpkhj 1/1 Running 0 6d4h
essential-cert-manager-cainjector-549c8f74c-x5sjp 1/1 Running 0 6d4h
essential-cert-manager-webhook-76f596b686-drf79 1/1 Running 0 6d4h
essential-metallb-controller-6557847d57-djs9b 1/1 Running 0 6d4h
essential-metallb-speaker-7t54v 1/1 Running 0 6d4h
essential-metallb-speaker-ggmbn 1/1 Running 0 6d4h
essential-metallb-speaker-mwmfg 1/1 Running 0 6d4h
essential-nginx-ingress-ingress-nginx-controller-k2hsw 1/1 Running 0 6d4h
essential-nginx-ingress-ingress-nginx-controller-kfkm9 1/1 Running 0 6d4h
essential-nginx-ingress-ingress-nginx-defaultbackend-695fbj4mnd 1/1 Running 0 6d4h
essential-registry-docker-registry-75b84457f4-4fmlh 1/1 Running 0 6d4h
Controleer de status van de services en de taakverdeling die in de IKS-naamruimte zijn geïmplementeerd.
iksadmin@kubek8scl1-controlpl-b8a50f8235:~$ kubectl get svc -n iks
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
ccp-monitor-grafana ClusterIP 192.168.23.161 80/TCP 6d3h
ccp-monitor-prometheus-alertmanager ClusterIP 192.168.23.70 80/TCP 6d3h
ccp-monitor-prometheus-kube-state-metrics ClusterIP None 80/TCP 6d3h
ccp-monitor-prometheus-node-exporter ClusterIP None 9100/TCP 6d3h
ccp-monitor-prometheus-pushgateway ClusterIP 192.168.23.130 9091/TCP 6d3h
ccp-monitor-prometheus-server ClusterIP 192.168.23.95 443/TCP 6d3h
essential-cert-manager ClusterIP 192.168.23.178 9402/TCP 6d4h
essential-cert-manager-webhook ClusterIP 192.168.23.121 443/TCP 6d4h
essential-nginx-ingress-ingress-nginx-controller LoadBalancer 192.168.23.26 192.168.10.11 80:31121/TCP,443:31753/TCP 6d4h
essential-nginx-ingress-ingress-nginx-defaultbackend ClusterIP 192.168.23.205 80/TCP 6d4h
essential-registry-docker-registry ClusterIP 192.168.23.12 443/TCP 6d4h
kubernetes-dashboard ClusterIP 192.168.23.203 443/TCP 6d4h
Deze sectie bevat informatie waarmee u problemen met de configuratie kunt oplossen.
In het geval dat een bepaalde pod niet naar boven komt, kunt u deze opdrachten gebruiken om de oorzaak te achterhalen.
Syntax : kubectl describe pod -n
Example :
kubectl describe pod vsphere-csi-controller-7d56dc7c8-qgbhw -n kube-system
Name: vsphere-csi-controller-7d56dc7c8-qgbhw
Namespace: kube-system
Priority: 0
Node: kubek8scl1-controlpl-eb44cf1bf3/192.168.58.11
Start Time: Tue, 28 Sep 2021 02:39:41 +0000
Labels: app=vsphere-csi-controller
pod-template-hash=7d56dc7c8
role=vsphere-csi
Annotations:
Status: Running
IP: 192.168.58.11
IPs:
IP: 192.168.58.11
Controlled By: ReplicaSet/vsphere-csi-controller-7d56dc7c8
Containers:
csi-attacher:
Container ID: docker://60002693136d00f3b61237304a1fbc033df92f86dc1352965328fe3c4d264fdb
Image: registry.ci.x----x.com/cpsg_kaas-images/quay.io/k8scsi/csi-attacher:v2.0.0
Image ID: docker-pullable://registry.ci.x------x.com/cpsg_kaas-images/quay.io/k8scsi/csi-attacher@sha256:71e2b9b5b8c52d789ef89ba901c8fba270fa623789a988c77c52ebb0257bf723
Port:
Host Port:
Args:
--v=4
--timeout=300s
--csi-address=$(ADDRESS)
--leader-election
State: Running
Started: Thu, 30 Sep 2021 05:44:11 +0000
Last State: Terminated
Reason: Error
Message: Lost connection to CSI driver, exiting
Exit Code: 255
Started: Thu, 30 Sep 2021 05:38:20 +0000
Finished: Thu, 30 Sep 2021 05:39:06 +0000
Ready: True
Restart Count: 531
X----------------------- Log Text Omitted ---------X----------------------X--------------------X
Revisie | Publicatiedatum | Opmerkingen |
---|---|---|
1.0 |
18-Jan-2022
|
Eerste vrijgave |