Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
a7f4402e
Commit
a7f4402e
authored
May 02, 2016
by
Derek Parker
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
docs: Update self-hosted proposal
parent
8db2677e
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
14 additions
and
8 deletions
+14
-8
self-hosted-kubelet.md
docs/proposals/self-hosted-kubelet.md
+14
-8
No files found.
docs/proposals/self-hosted-kubelet.md
View file @
a7f4402e
...
@@ -31,7 +31,9 @@ Documentation for other releases can be found at
...
@@ -31,7 +31,9 @@ Documentation for other releases can be found at
## Abstract
## Abstract
In a self-hosted Kubernetes deployment, we have the initial bootstrap problem.
In a self-hosted Kubernetes deployment (see (this
comment)
[
https://github.com/kubernetes/kubernetes/issues/246#issuecomment-64533959
]
for background on self hosted kubernetes), we have the initial bootstrap problem.
When running self-hosted components, there needs to be a mechanism for pivoting
When running self-hosted components, there needs to be a mechanism for pivoting
from the initial bootstrap state to the kubernetes-managed (self-hosted) state.
from the initial bootstrap state to the kubernetes-managed (self-hosted) state.
In the case of a self-hosted kubelet, this means pivoting from the initial
In the case of a self-hosted kubelet, this means pivoting from the initial
...
@@ -40,7 +42,9 @@ to the node.
...
@@ -40,7 +42,9 @@ to the node.
This proposal presents a solution to the kubelet bootstrap, and assumes a
This proposal presents a solution to the kubelet bootstrap, and assumes a
functioning control plane (e.g. an apiserver, controller-manager, scheduler, and
functioning control plane (e.g. an apiserver, controller-manager, scheduler, and
etcd cluster), and a kubelet that can securely contact the API server.
etcd cluster), and a kubelet that can securely contact the API server. This
functioning control plane can be temporary, and not necessarily the "production"
control plane that will be used after the initial pivot / bootstrap.
## Background and Motivation
## Background and Motivation
...
@@ -71,9 +75,10 @@ explained in detail below.
...
@@ -71,9 +75,10 @@ explained in detail below.
## Proposal
## Proposal
We propose adding a new flag to the kubelet, the
`--bootstrap`
flag, which is
We propose adding a new flag to the kubelet, the
`--bootstrap`
flag, which is
assumed to be used in conjunction with the
`--lock-file`
flag. When the
assumed to be used in conjunction with the
`--lock-file`
flag. The
`--lock-file`
`--bootstrap`
flag is provided, after the kubelet acquires the file lock, it
flag is used to ensure only a single kubelet is running at any given time during
will begin asynchronously waiting on
this pivot process. When the
`--bootstrap`
flag is provided, after the kubelet
acquires the file lock, it will begin asynchronously waiting on
[
inotify
](
http://man7.org/linux/man-pages/man7/inotify.7.html
)
events. Once an
[
inotify
](
http://man7.org/linux/man-pages/man7/inotify.7.html
)
events. Once an
"open" event is received, the kubelet will assume another kubelet is attempting
"open" event is received, the kubelet will assume another kubelet is attempting
to take control and will exit by calling
`exit(0)`
.
to take control and will exit by calling
`exit(0)`
.
...
@@ -139,9 +144,10 @@ Various similar approaches have been discussed
...
@@ -139,9 +144,10 @@ Various similar approaches have been discussed
[
here
](
https://github.com/kubernetes/kubernetes/issues/246#issuecomment-64533959
)
[
here
](
https://github.com/kubernetes/kubernetes/issues/246#issuecomment-64533959
)
and
and
[
here
](
https://github.com/kubernetes/kubernetes/issues/23073#issuecomment-198478997
)
.
[
here
](
https://github.com/kubernetes/kubernetes/issues/23073#issuecomment-198478997
)
.
This also relies on the kubelet being able to be run inside a container, more
Other discussion around the kubelet being able to be run inside a container is
discussion on that is
[
here
](
https://github.com/kubernetes/kubernetes/issues/4869
)
. Note this isn't a
[
here
](
https://github.com/kubernetes/kubernetes/issues/4869
)
.
strict requirement as the kubelet could be run in a chroot jail via rkt fly or
other such similar approach.
Additionally,
[
Taints and
Additionally,
[
Taints and
Tolerations](../../docs/design/taint-toleration-dedicated.md), whose design has
Tolerations](../../docs/design/taint-toleration-dedicated.md), whose design has
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment