Skip to content
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

[Suggestion] regular k8s nodes in OpenShift #19255

Open
sr229 opened this issue Apr 7, 2018 · 3 comments
Open

[Suggestion] regular k8s nodes in OpenShift #19255

sr229 opened this issue Apr 7, 2018 · 3 comments
Assignees
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. sig/pod

Comments

@sr229
Copy link

sr229 commented Apr 7, 2018

Synopsis

OpenShift builds from Kubernetes. However, since oc already runs openshift/origin in a Docker container, then it might be possible to federate/include existing k8s nodes as OpenShift Nodes.

Introduction

OpenShift and Kubernetes has known to co-exist since OpenShift v3. OpenShift contributes back to Kubernetes as they develop features in their own distribution. Kubernetes itself is a container orchestration tool while OpenShift builds upon this and adds Container-as-a-Service/Platform-as-a-Service features. Origin has a oc CLI that deploys the openshift/origin container. Since it runs on regular Docker, then it might be possible to use it to provide OpenShift features to a existing K8s cluster.

Purpose

This feature request serves at least two purposes:

  • Allowing end-users to use OpenShift features on regular Kubernetes clusters.
  • Provide end-users that used Kubernetes to have a easy migration scheme by "polyfilling" on regular k8s nodes to be a pseudo-OpenShift cluster until they have switched to OpenShift.

Strategy

OpenShift needs to consider at least two situations to include a Kubernetes node as part of its cluster.

Situation 1: Joining as Worker

if a K8s node is joining to a OpenShift cluster:

  • Check if it meets the minimum Kubernetes version set by the cluster admin
  • Install necessary services in the node in kube-system namespace.
  • Include it in the cluster once it passes health checks.

Situation 2: Joining as a cluster with a manager node

  • Manager Node might have to be switched to a worker node. This would consider the host node it tries to connect to as a Manager.
  • Install necessary service in the node in kube-system namespace.
  • Include the cluster once it passes health checks.

Benefits

  • It would allow provisioning of OpenShift to providers that only supports Kubernetes (ie, IBM Cloud).
  • It would let the users consume OpenShift Nodes and Kubernetes Nodes together.

Drawbacks

  • Because of Situation 2, if you run any essential service within the manager node, it might not work at all within the migration process.
  • There would be no known possible strategy to revert it to its last known state once connected to the OpenShift manager node.

I accept feedback regarding this proposal, if you find any discrepancies or some ideas need to be deliberated properly, please do tell me.

@jwforres
Copy link
Member

@openshift/sig-pod

@openshift-bot
Copy link
Contributor

Issues go stale after 90d of inactivity.

Mark the issue as fresh by commenting /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.
Exclude this issue from closing by commenting /lifecycle frozen.

If this issue is safe to close now please do so with /close.

/lifecycle stale

@openshift-ci-robot openshift-ci-robot added the lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. label Jul 24, 2018
@sr229
Copy link
Author

sr229 commented Jul 25, 2018

/lifecycle frozen

@openshift-ci-robot openshift-ci-robot added lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. and removed lifecycle/stale Denotes an issue or PR has remained open with no activity and has become stale. labels Jul 25, 2018
@openshift-ci-robot openshift-ci-robot added kind/feature Categorizes issue or PR as related to a new feature. and removed kind/enhancement labels Apr 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/feature Categorizes issue or PR as related to a new feature. lifecycle/frozen Indicates that an issue or PR should not be auto-closed due to staleness. sig/pod
Projects
None yet
Development

No branches or pull requests

5 participants