-
Notifications
You must be signed in to change notification settings - Fork 226
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Trident operator and controller are deployed on a worker node #981
Comments
Hi, nodeSelector:
nodetype: master
tolerations:
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule" Same for trident-controller deployment with |
Hi enneitex, I tried to change apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
name: trident
spec:
debug: false
namespace: trident
silenceAutosupport: true
controllerPluginNodeSelector:
nodetype: master
controllerPluginTolerations:
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule" ref: Customize Trident operator installation As the result, the controller pod is still pending state. $ oc describe pod trident-controller-56c4b48cc8-wmjhr -n trident
Name: trident-controller-56c4b48cc8-wmjhr
Namespace: trident
Priority: 0
Service Account: trident-controller
Node: <none>
Labels: app=controller.csi.trident.netapp.io
pod-template-hash=56c4b48cc8
Annotations: openshift.io/required-scc: trident-controller
openshift.io/scc: trident-controller
Status: Pending
...
Node-Selectors: <none>
Tolerations: node-role.kubernetes.io/master:NoSchedule op=Exists
node.kubernetes.io/memory-pressure:NoSchedule op=Exists
node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 34s default-scheduler 0/5 nodes are available: 5 node(s) didn't match Pod's node affinity/selector. preemption: 0/5 nodes are available: 5 Preemption is not helpful for scheduling. Control-plane nodes have a taint of $ oc describe node controller-ke1nf
Name: controller-ke1nf
Roles: control-plane,master
...
Taints: node-role.kubernetes.io/master:NoSchedule
... On the other hand, Trident Operator is automatically deployed by OLM on OpenShift with $ oc describe csv nvidia-network-operator -n nvidia-network-operator
Name: nvidia-network-operator.v24.10.1
...
Deployments:
Label:
Control - Plane: nvidia-network-operator-controller
Name: nvidia-network-operator-controller-manager
Spec:
Replicas: 1
Selector:
Match Labels:
Control - Plane: nvidia-network-operator-controller
Strategy:
Template:
Metadata:
Annotations:
kubectl.kubernetes.io/default-container: manager
Creation Timestamp: <nil>
Labels:
Control - Plane: nvidia-network-operator-controller
nvidia.com/ofed-driver-upgrade-drain.skip: true
Spec:
Affinity:
Node Affinity:
Preferred During Scheduling Ignored During Execution:
Preference:
Match Expressions:
Key: node-role.kubernetes.io/master
Operator: In
Values:
Weight: 1
Preference:
Match Expressions:
Key: node-role.kubernetes.io/control-plane
Operator: In
Values:
Weight: 1
... |
Are you sure the label |
There is no apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
name: trident
spec:
debug: false
namespace: trident
silenceAutosupport: true
controllerPluginTolerations:
- key: "node-role.kubernetes.io/master"
operator: "Exists"
effect: "NoSchedule" $ oc describe pod trident-controller-56c4b48cc8-4khff -n trident
...
Node-Selectors: <none>
Tolerations: node-role.kubernetes.io/master:NoSchedule op=Exists
node.kubernetes.io/memory-pressure:NoSchedule op=Exists
node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Warning FailedScheduling 2m35s default-scheduler 0/5 nodes are available: 5 node(s) didn't match Pod's node affinity/selector. preemption: 0/5 nodes are available: 5 Preemption is not helpful for scheduling. $ oc describe node controller-ke1nf
Name: controller-ke1nf
Roles: control-plane,master
Labels: beta.kubernetes.io/arch=amd64
beta.kubernetes.io/os=linux
kubernetes.io/arch=amd64
kubernetes.io/hostname=controller-ke1nf
kubernetes.io/os=linux
node-role.kubernetes.io/control-plane=
node-role.kubernetes.io/master=
node.openshift.io/os_id=rhcos
...
Taints: node-role.kubernetes.io/master:NoSchedule |
Describe the bug
Operators should be deployed on control-plane nodes, but Trident operator and controller are deployed on a worker node.
Environment
To Reproduce
Allways after installation of trident-operator on OpenShift.
I tried to specify
controllerPluginNodeSelector
inTridentOrchestrator
CRD, but it causes the trident-controller pod becomes pendint state.Expected behavior
Most of other operators are deployed on control-plane nodes without specifying nodeSelector like:
Following document site explains that trident-controller can be deplyed on master (i.e., control-plane) nodes.
https://docs.netapp.com/us-en/trident/trident-get-started/kubernetes-customize-deploy.html#sample-configurations
The text was updated successfully, but these errors were encountered: