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
31675c2b
Commit
31675c2b
authored
Jun 19, 2015
by
Piotr Szczesniak
Browse files
Options
Browse Files
Download
Plain Diff
Merge pull request #9851 from marekbiskup/addon-doc
addon doc improved
parents
b2e9fed3
dfb702a6
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
29 additions
and
10 deletions
+29
-10
README.md
cluster/addons/README.md
+29
-10
No files found.
cluster/addons/README.md
View file @
31675c2b
# Cluster add-ons
# Cluster add-ons
Cluster add-ons are Services and Replication Controllers (with pods) that are
Cluster add-ons are Services and Replication Controllers (with pods) that are
shipped with the kubernetes binaries and whose update policy is also consistent
shipped with the Kubernetes binaries and are considered an inherent part of the
with the update of kubernetes cluster.
Kubernetes clusters. The add-ons are visible through the API (they can be listed
using
```kubectl```
), but manipulation of these objects is discouraged because
the system will bring them back to the original state, in particular:
*
if an add-on is stopped, it will be restarted automatically
*
if an add-on is rolling-updated (for Replication Controlers), the system will stop the new version and
start the old one again (or perform rolling update to the old version, in the
future).
On the cluster, the add-ons are kept in
```/etc/kubernetes/addons```
on the master node, in yaml files
(json is not supported at the moment). A system daemon periodically checks if
the contents of this directory is consistent with the add-one objects on the API
server. If any difference is spotted, the system updates the API objects
accordingly. (Limitation: for now, the system compares only the names of objects
in the directory and on the API server. So changes in parameters may not be
noticed). So the only persistent way to make changes in add-ons is to update the
manifests on the master server. But still, users are discouraged to do it
on their own - they should rather wait for a new release of
Kubernetes that will also contain new versions of add-ons.
On the cluster the addons are kept in
```/etc/kubernetes/addons```
on the master node, in yaml files
(json is not supported at the moment).
Each add-on must specify the following label:
````kubernetes.io/cluster-service: true````
.
Each add-on must specify the following label:
````kubernetes.io/cluster-service: true````
.
Yaml files that do not define this label will be ignored.
Yaml files that do not define this label will be ignored.
...
@@ -13,14 +28,18 @@ The naming convention for Replication Controllers is
...
@@ -13,14 +28,18 @@ The naming convention for Replication Controllers is
```
<basename>-<version>```, where ```<basename>``` is the same in consecutive
```
<basename>-<version>```, where ```<basename>``` is the same in consecutive
versions and ```<version>``` changes when the component is updated
versions and ```<version>``` changes when the component is updated
(```<version>``` must not contain ```-```). For instance,
(```<version>``` must not contain ```-```). For instance,
```
heaps
e
ter-controller-v1
``` and ```
heapster-controller-12
``` are the
```
heapster-controller-v1
``` and ```
heapster-controller-12
``` are the
same controllers with two different versions, while ```
heaps
e
ter-controller-v1
```
same controllers with two different versions, while ```
heapster-controller-v1
```
and ```
heapster-newcontroller-12
``` are treated as two different applications.
and ```
heapster-newcontroller-12
``` are treated as two different applications.
For services it is just ```
<basename>
``` (with empty version number)
When a new version of a Replication Controller add-on is found, the system will
because we do not expect the service
stop the old (current) replication controller and start the new one
name to change in consecutive versions. The naming convetion is important for add-on update.
(in the future, rolling update will be performed).
For services, the naming scheme is just ```
<basename>
``` (with empty version number)
because we do not expect the service name to change in consecutive versions (and
rolling-update of services does not exist).
# Add-on update
# Add-on update
procedure
To update add-ons, just update the contents of ```
/etc/kubernetes/addons
```
To update add-ons, just update the contents of ```
/etc/kubernetes/addons
```
directory with the desired definition of add-ons. Then the system will take care
directory with the desired definition of add-ons. Then the system will take care
...
...
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