openyurt
openyurt copied to clipboard
[Question] Disabling nodelifecycle affects k8s cloud node
This is just a question that we like to bring up here. We are not sure if this is constraint or limitation.
What happened:
Official install document requires to disable nodelifecycle feature for Yurt-Controller-Manager.
This can affect Kubernetes nodes management, if user wants to manage k8s nodes aligned with OpenYurt.
Detailed procedure: https://openyurt.io/docs/next/installation/openyurt-prepare/#2-kube-controller-manager-adjustment
What you expected to happen:
nodelifecycle should not be disabled, Yurt-Controller-Manager should be able to abstract and manage the OpenYurt cloud and edge nodes based on label or something else.
So that Kubernetes nodes can align with OpenYurt to keep Kuernetes Feature.
Environment:
- OpenYurt version: - v1.0.0
- Kubernetes version (use
kubectl version): v1.22.13 - OS (e.g:
cat /etc/os-release): Ubuntu 20.04.4 LTS - Kernel (e.g.
uname -a): 5.15.0-46-generic #49~20.04.1-Ubuntu SMP - Install tools: https://openyurt.io/docs/next/installation/manually-setup/
- Others:
others /kind question
Well, we actually disable the native nodelifecycle controller, but it does not mean we will lose its capability, because we integrate nodelifecycle controller into yurt-controller-manager, you can find it here: https://github.com/openyurtio/openyurt/tree/master/pkg/controller/nodelifecycle.
The reason why we disable the native nodelifecycle controller and use the counter-part in yurt-controller-manager is that, as you said, "manage the OpenYurt cloud and edge nodes based on label or something else", which is annotation in fact. In join nodes, we will add annotation node.beta.openyurt.io/autonomy=true to edge nodes, and the nodelifecycle controller in yurt-controller-manager will take specific strategy to manage edge nodes according to the annotation, especially when they are offline. But the native nodelifecycle controller does not provide any interface to set its strategy, so we have to modify its code directly.
However, it seems to be a temporary solution. We have came out another way which can be compatible with native nodelifecycle controller, see #776.
However, it seems to be a temporary solution. We have came out another way which can be compable with native nodelifecycle controller, see https://github.com/openyurtio/openyurt/issues/776.
this makes more sense to me! thanks for the intel.
- edge autonomy is the feature underneath OpenYurt.
- Kubernetes native nodes can be consistent aligned with OpenYurt.
@Congrool do you guys keep this open? now i know that there is an activity against this question, so i am good to close this question.
Sure, we can keep this issue open until #776 has been completed.
This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.
Since this is a question, i think it has been answered with https://github.com/openyurtio/openyurt/issues/776, we can track this feature with https://github.com/openyurtio/openyurt/issues/776. so in favor of https://github.com/openyurtio/openyurt/issues/776, i will go ahead to close this question.