adventurous-address-26812
12/16/2022, 3:21 PMhallowed-breakfast-56871
12/20/2022, 11:30 PMadventurous-address-26812
12/22/2022, 5:43 PMhallowed-breakfast-56871
12/22/2022, 6:47 PMadventurous-address-26812
12/22/2022, 7:04 PMhallowed-breakfast-56871
12/22/2022, 7:07 PM<https://kubernetes.github.io/cloud-provider-vsphere>
Then I do the CSI which should be a a deployment pulled from the kubernetes git repo - <https://raw.githubusercontent.com/kubernetes-sigs/vsphere-csi-driver/v2.6.0/manifests/vanilla/vsphere-csi-driver.yaml>
adventurous-address-26812
12/22/2022, 7:09 PMhallowed-breakfast-56871
12/22/2022, 7:09 PMadventurous-address-26812
12/22/2022, 7:30 PMhallowed-breakfast-56871
12/22/2022, 8:04 PMvsphere-cloud-controller-manager
running?adventurous-address-26812
12/22/2022, 8:05 PMhallowed-breakfast-56871
12/22/2022, 8:06 PMadventurous-address-26812
12/22/2022, 8:07 PMhallowed-breakfast-56871
12/22/2022, 8:08 PMadventurous-address-26812
12/22/2022, 8:08 PMhallowed-breakfast-56871
12/22/2022, 8:10 PMadventurous-address-26812
12/22/2022, 8:16 PM[root@vsphere-cpi]# helm upgrade --install vsphere-cpi vsphere-cpi/vsphere-cpi --namespace kube-system --set config.enabled=true --set config.vcenter=hci-vcenter.domain.local --set config.username=administrator@vsphere.local --set config.password=XXX --set config.datacenter=DataCenter
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /home/klaughman/rubrikk8s-vspherecsi.cfg
WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /home/klaughman/rubrikk8s-vspherecsi.cfg
Release "vsphere-cpi" does not exist. Installing it now.
NAME: vsphere-cpi
LAST DEPLOYED: Thu Dec 22 15:12:01 2022
NAMESPACE: kube-system
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
Thank you for installing vsphere-cpi.
Your release is named vsphere-cpi.
[root@vsphere-cpi]# helm list -n kube-system
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /home/klaughman/rubrikk8s-vspherecsi.cfg
WARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /home/klaughman/rubrikk8s-vspherecsi.cfg
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION
vsphere-cpi kube-system 1 2022-12-22 15:12:01.300807621 -0500 EST deployed vsphere-cpi-1.25.0 1.25.0
[root@vsphere-cpi]# kubectl get ds -n kube-system
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
canal 5 5 5 5 5 <http://kubernetes.io/os=linux|kubernetes.io/os=linux> 59m
vsphere-cpi 0 0 0 0 0 <none> 48s
[root@cetech-lnx01 vsphere-cpi]# kubectl describe ds vsphere-cpi -n kube-system
Name: vsphere-cpi
Selector: app=vsphere-cpi
Node-Selector: <none>
Labels: app=vsphere-cpi
<http://app.kubernetes.io/managed-by=Helm|app.kubernetes.io/managed-by=Helm>
component=cloud-controller-manager
tier=control-plane
vsphere-cpi-infra=daemonset
Annotations: deprecated.daemonset.template.generation: 1
<http://meta.helm.sh/release-name|meta.helm.sh/release-name>: vsphere-cpi
<http://meta.helm.sh/release-namespace|meta.helm.sh/release-namespace>: kube-system
Desired Number of Nodes Scheduled: 0
Current Number of Nodes Scheduled: 0
Number of Nodes Scheduled with Up-to-date Pods: 0
Number of Nodes Scheduled with Available Pods: 0
Number of Nodes Misscheduled: 0
Pods Status: 0 Running / 0 Waiting / 0 Succeeded / 0 Failed
Pod Template:
Labels: app=vsphere-cpi
component=cloud-controller-manager
release=vsphere-cpi
tier=control-plane
vsphere-cpi-infra=daemonset
Service Account: cloud-controller-manager
Containers:
vsphere-cpi:
Image: <http://gcr.io/cloud-provider-vsphere/cpi/release/manager:v1.25.0|gcr.io/cloud-provider-vsphere/cpi/release/manager:v1.25.0>
Port: <none>
Host Port: <none>
Args:
--cloud-provider=vsphere
--v=2
--cloud-config=/etc/cloud/vsphere.conf
Environment: <none>
Mounts:
/etc/cloud from vsphere-config-volume (ro)
Volumes:
vsphere-config-volume:
Type: ConfigMap (a volume populated by a ConfigMap)
Name: vsphere-cloud-config
Optional: false
Priority Class Name: system-node-critical
Events: <none>
hallowed-breakfast-56871
12/22/2022, 8:18 PMnodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: <http://node-role.kubernetes.io/control-plane|node-role.kubernetes.io/control-plane>
operator: Exists
- matchExpressions:
- key: <http://node-role.kubernetes.io/master|node-role.kubernetes.io/master>
operator: Exists
adventurous-address-26812
12/22/2022, 8:18 PMhallowed-breakfast-56871
12/22/2022, 8:18 PMcontrol-plane
adventurous-address-26812
12/22/2022, 8:21 PM[root@cetech-lnx01 vsphere-cpi]# kubectl describe nodes | egrep "Taints:|Name:"
Name: rubrikk8s-csi-cp1
Taints: <http://node-role.kubernetes.io/controlplane=true:NoSchedule|node-role.kubernetes.io/controlplane=true:NoSchedule>
Name: rubrikk8s-csi-etcd1
Taints: <http://node-role.kubernetes.io/etcd=true:NoExecute|node-role.kubernetes.io/etcd=true:NoExecute>
Name: rubrikk8s-csi-wkr1
Taints: <http://node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule|node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule>
Name: rubrikk8s-csi-wkr2
Taints: <http://node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule|node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule>
Name: rubrikk8s-csi-wkr3
Taints: <http://node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule|node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule>
[root@cetech-lnx01 vsphere-cpi]#
[root@cetech-lnx01 vsphere-cpi]# kubectl taint node rubrikk8s-csi-cp1 <http://node-role.kubernetes.io/control-plane=true:NoSchedule|node-role.kubernetes.io/control-plane=true:NoSchedule>
hallowed-breakfast-56871
12/22/2022, 9:28 PMadventurous-address-26812
12/22/2022, 9:30 PMQoS Class: BestEffort
Node-Selectors: <http://node-role.kubernetes.io/control-plane=|node-role.kubernetes.io/control-plane=>
Tolerations: <http://node-role.kubernetes.io/control-plane:NoSchedule|node-role.kubernetes.io/control-plane:NoSchedule> op=Exists
<http://node-role.kubernetes.io/master:NoSchedule|node-role.kubernetes.io/master:NoSchedule> op=Exists
<http://node.kubernetes.io/not-ready:NoExecute|node.kubernetes.io/not-ready:NoExecute> op=Exists for 300s
<http://node.kubernetes.io/unreachable:NoExecute|node.kubernetes.io/unreachable:NoExecute> op=Exists for 300s
However, when applying the CSI driver manifest, the vsphere-csi-controller PODs never seem to schedule:
vents:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 105s default-scheduler 0/5 nodes are available: 1 node(s) had taint {<http://node-role.kubernetes.io/etcd|node-role.kubernetes.io/etcd>: true}, that the pod didn't tolerate, 1 node(s) had taint {<http://node.cloudprovider.kubernetes.io/uninitialized|node.cloudprovider.kubernetes.io/uninitialized>: true}, that the pod didn't tolerate, 3 node(s) didn't match Pod's node affinity/selector.
Warning FailedScheduling 15s default-scheduler 0/5 nodes are available: 1 node(s) had taint {<http://node-role.kubernetes.io/etcd|node-role.kubernetes.io/etcd>: true}, that the pod didn't tolerate, 1 node(s) had taint {<http://node.cloudprovider.kubernetes.io/uninitialized|node.cloudprovider.kubernetes.io/uninitialized>: true}, that the pod didn't tolerate, 3 node(s) didn't match Pod's node affinity/selector.
What's throwing me off is the node selector is just blank:
node-role.kubernetes.io/control-plane=
I must be missing something with my taints, but I can't seem to toggle anything to match and its stumping me if you had any thoughts on that one 🙂hallowed-breakfast-56871
12/22/2022, 9:35 PMNext we need to pull down the latest deployment from the Kubernetes GitHub. We do this as we need to remove the node toleration, and edit the replica count if we are deploying to a single node.
`wget <https://raw.githubusercontent.com/kubernetes-sigs/vsphere-csi-driver/v2.6.0/manifests/vanilla/vsphere-csi-driver.yaml> `
Edit any requirements (e.g replica's or removing node toleration) in the yaml.
You might want to edit the lines like below, to read true. Then remove all tolerations after.
yaml
nodeSelector:
node-role.kubernetes.io/control-plane: ""```adventurous-address-26812
12/22/2022, 9:38 PMhallowed-breakfast-56871
12/22/2022, 9:39 PM