Remove Container Linux Update Operator (CLUO) addon
* Stop providing example manifests for the Container Linux Update Operator (CLUO) * CLUO requires patches to support Kubernetes v1.16+, but the project and push access is rather unowned * CLUO hasn't been in active use in our clusters and won't be relevant beyond Container Linux. Not to say folks can't patch it and run it on their own. Examples just aren't provided here Related: https://github.com/coreos/container-linux-update-operator/pull/197
This commit is contained in:
parent
1a139ef6f1
commit
75fb4e5d11
|
@ -49,6 +49,8 @@ Notable changes between versions.
|
||||||
* Update node-exporter from v0.18.1 to [v1.0.0-rc.0](https://github.com/prometheus/node_exporter/releases/tag/v1.0.0-rc.0)
|
* Update node-exporter from v0.18.1 to [v1.0.0-rc.0](https://github.com/prometheus/node_exporter/releases/tag/v1.0.0-rc.0)
|
||||||
* Update Grafana from v6.6.1 to v6.6.2
|
* Update Grafana from v6.6.1 to v6.6.2
|
||||||
* Refresh Grafana dashboards
|
* Refresh Grafana dashboards
|
||||||
|
* Remove Container Linux Update Operator (CLUO) addon
|
||||||
|
* CLUO doesn't support Kubernetes v1.16+, hasn't been in active use, and won't be relevant beyond Container Linux
|
||||||
|
|
||||||
## v1.17.3
|
## v1.17.3
|
||||||
|
|
||||||
|
|
|
@ -1,4 +0,0 @@
|
||||||
apiVersion: v1
|
|
||||||
kind: Namespace
|
|
||||||
metadata:
|
|
||||||
name: reboot-coordinator
|
|
|
@ -1,12 +0,0 @@
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRoleBinding
|
|
||||||
metadata:
|
|
||||||
name: reboot-coordinator
|
|
||||||
roleRef:
|
|
||||||
apiGroup: rbac.authorization.k8s.io
|
|
||||||
kind: ClusterRole
|
|
||||||
name: reboot-coordinator
|
|
||||||
subjects:
|
|
||||||
- kind: ServiceAccount
|
|
||||||
namespace: reboot-coordinator
|
|
||||||
name: default
|
|
|
@ -1,45 +0,0 @@
|
||||||
apiVersion: rbac.authorization.k8s.io/v1
|
|
||||||
kind: ClusterRole
|
|
||||||
metadata:
|
|
||||||
name: reboot-coordinator
|
|
||||||
rules:
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- nodes
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- update
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- configmaps
|
|
||||||
verbs:
|
|
||||||
- create
|
|
||||||
- get
|
|
||||||
- update
|
|
||||||
- list
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- events
|
|
||||||
verbs:
|
|
||||||
- create
|
|
||||||
- watch
|
|
||||||
- apiGroups:
|
|
||||||
- ""
|
|
||||||
resources:
|
|
||||||
- pods
|
|
||||||
verbs:
|
|
||||||
- get
|
|
||||||
- list
|
|
||||||
- delete
|
|
||||||
- apiGroups:
|
|
||||||
- "extensions"
|
|
||||||
resources:
|
|
||||||
- daemonsets
|
|
||||||
verbs:
|
|
||||||
- get
|
|
|
@ -1,68 +0,0 @@
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: DaemonSet
|
|
||||||
metadata:
|
|
||||||
name: container-linux-update-agent
|
|
||||||
namespace: reboot-coordinator
|
|
||||||
spec:
|
|
||||||
updateStrategy:
|
|
||||||
type: RollingUpdate
|
|
||||||
rollingUpdate:
|
|
||||||
maxUnavailable: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
name: container-linux-update-agent
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
name: container-linux-update-agent
|
|
||||||
annotations:
|
|
||||||
seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
|
|
||||||
spec:
|
|
||||||
tolerations:
|
|
||||||
- key: node-role.kubernetes.io/master
|
|
||||||
operator: Exists
|
|
||||||
effect: NoSchedule
|
|
||||||
containers:
|
|
||||||
- name: update-agent
|
|
||||||
image: quay.io/coreos/container-linux-update-operator:v0.7.0
|
|
||||||
command:
|
|
||||||
- "/bin/update-agent"
|
|
||||||
env:
|
|
||||||
# read by update-agent as the node name to manage reboots for
|
|
||||||
- name: UPDATE_AGENT_NODE
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: spec.nodeName
|
|
||||||
- name: POD_NAMESPACE
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: metadata.namespace
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 10m
|
|
||||||
memory: 20Mi
|
|
||||||
limits:
|
|
||||||
cpu: 20m
|
|
||||||
memory: 40Mi
|
|
||||||
volumeMounts:
|
|
||||||
- mountPath: /var/run/dbus
|
|
||||||
name: var-run-dbus
|
|
||||||
- mountPath: /etc/coreos
|
|
||||||
name: etc-coreos
|
|
||||||
- mountPath: /usr/share/coreos
|
|
||||||
name: usr-share-coreos
|
|
||||||
- mountPath: /etc/os-release
|
|
||||||
name: etc-os-release
|
|
||||||
volumes:
|
|
||||||
- name: var-run-dbus
|
|
||||||
hostPath:
|
|
||||||
path: /var/run/dbus
|
|
||||||
- name: etc-coreos
|
|
||||||
hostPath:
|
|
||||||
path: /etc/coreos
|
|
||||||
- name: usr-share-coreos
|
|
||||||
hostPath:
|
|
||||||
path: /usr/share/coreos
|
|
||||||
- name: etc-os-release
|
|
||||||
hostPath:
|
|
||||||
path: /etc/os-release
|
|
|
@ -1,39 +0,0 @@
|
||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: container-linux-update-operator
|
|
||||||
namespace: reboot-coordinator
|
|
||||||
spec:
|
|
||||||
replicas: 1
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
name: container-linux-update-operator
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
labels:
|
|
||||||
name: container-linux-update-operator
|
|
||||||
annotations:
|
|
||||||
seccomp.security.alpha.kubernetes.io/pod: 'docker/default'
|
|
||||||
spec:
|
|
||||||
tolerations:
|
|
||||||
- key: node-role.kubernetes.io/master
|
|
||||||
operator: Exists
|
|
||||||
effect: NoSchedule
|
|
||||||
containers:
|
|
||||||
- name: update-operator
|
|
||||||
image: quay.io/coreos/container-linux-update-operator:v0.7.0
|
|
||||||
command:
|
|
||||||
- "/bin/update-operator"
|
|
||||||
env:
|
|
||||||
- name: POD_NAMESPACE
|
|
||||||
valueFrom:
|
|
||||||
fieldRef:
|
|
||||||
fieldPath: metadata.namespace
|
|
||||||
resources:
|
|
||||||
requests:
|
|
||||||
cpu: 10m
|
|
||||||
memory: 20Mi
|
|
||||||
limits:
|
|
||||||
cpu: 20m
|
|
||||||
memory: 40Mi
|
|
||||||
|
|
|
@ -1,29 +0,0 @@
|
||||||
# Container Linux Update Operator
|
|
||||||
|
|
||||||
The [Container Linux Update Operator](https://github.com/coreos/container-linux-update-operator) (i.e. CLUO) coordinates reboots of auto-updating Container Linux nodes so that one node reboots at a time and nodes are drained before reboot. CLUO enables the auto-update behavior Container Linux clusters are known for, but does so in a Kubernetes native way.
|
|
||||||
|
|
||||||
## Create
|
|
||||||
|
|
||||||
Create the `update-operator` deployment and `update-agent` DaemonSet.
|
|
||||||
|
|
||||||
```sh
|
|
||||||
kubectl apply -f addons/cluo -R
|
|
||||||
```
|
|
||||||
|
|
||||||
## Usage
|
|
||||||
|
|
||||||
`update-agent` runs as a DaemonSet and annotates a node when `update-engine.service` indicates an update has been installed and a reboot is needed. It also adds additional labels and annotations to nodes.
|
|
||||||
|
|
||||||
```
|
|
||||||
$ kubectl get nodes --show-labels
|
|
||||||
...
|
|
||||||
container-linux-update.v1.coreos.com/group=stable
|
|
||||||
container-linux-update.v1.coreos.com/version=1632.3.0
|
|
||||||
```
|
|
||||||
|
|
||||||
`update-operator` ensures one node reboots at a time and that pods are drained prior to reboot.
|
|
||||||
|
|
||||||
!!! note ""
|
|
||||||
CLUO replaces `locksmithd` reboot coordination. The `update_engine` systemd unit on hosts still performs the Container Linux update check, download, and install to the inactive partition.
|
|
||||||
|
|
||||||
|
|
|
@ -2,7 +2,6 @@
|
||||||
|
|
||||||
Every Typhoon cluster is verified to work well with several post-install addons.
|
Every Typhoon cluster is verified to work well with several post-install addons.
|
||||||
|
|
||||||
* [CLUO](cluo.md) (Container Linux only)
|
|
||||||
* Nginx [Ingress Controller](ingress.md)
|
* Nginx [Ingress Controller](ingress.md)
|
||||||
* [Prometheus](prometheus.md)
|
* [Prometheus](prometheus.md)
|
||||||
* [Grafana](grafana.md)
|
* [Grafana](grafana.md)
|
||||||
|
|
|
@ -170,9 +170,6 @@ kube-system kube-scheduler-ip-10-0-3-155 1/1 Running 1
|
||||||
|
|
||||||
Learn about [maintenance](/topics/maintenance/) and [addons](/addons/overview/).
|
Learn about [maintenance](/topics/maintenance/) and [addons](/addons/overview/).
|
||||||
|
|
||||||
!!! note
|
|
||||||
On Container Linux clusters, install the `CLUO` addon to coordinate reboots and drains when nodes auto-update. Otherwise, updates may not be applied until the next reboot.
|
|
||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
|
|
||||||
Check the [variables.tf](https://github.com/poseidon/typhoon/blob/master/aws/container-linux/kubernetes/variables.tf) source.
|
Check the [variables.tf](https://github.com/poseidon/typhoon/blob/master/aws/container-linux/kubernetes/variables.tf) source.
|
||||||
|
|
|
@ -176,9 +176,6 @@ kube-system kube-scheduler-ramius-controller-0 1/1 Running 0
|
||||||
|
|
||||||
Learn about [maintenance](/topics/maintenance/) and [addons](/addons/overview/).
|
Learn about [maintenance](/topics/maintenance/) and [addons](/addons/overview/).
|
||||||
|
|
||||||
!!! note
|
|
||||||
On Container Linux clusters, install the `CLUO` addon to coordinate reboots and drains when nodes auto-update. Otherwise, updates may not be applied until the next reboot.
|
|
||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
|
|
||||||
Check the [variables.tf](https://github.com/poseidon/typhoon/blob/master/azure/container-linux/kubernetes/variables.tf) source.
|
Check the [variables.tf](https://github.com/poseidon/typhoon/blob/master/azure/container-linux/kubernetes/variables.tf) source.
|
||||||
|
|
|
@ -326,9 +326,6 @@ kube-system kube-scheduler-node1.example.com 1/1 Running 0
|
||||||
|
|
||||||
Learn about [maintenance](/topics/maintenance/) and [addons](/addons/overview/).
|
Learn about [maintenance](/topics/maintenance/) and [addons](/addons/overview/).
|
||||||
|
|
||||||
!!! note
|
|
||||||
On Container Linux clusters, install the `CLUO` addon to coordinate reboots and drains when nodes auto-update. Otherwise, updates may not be applied until the next reboot.
|
|
||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
|
|
||||||
Check the [variables.tf](https://github.com/poseidon/typhoon/blob/master/bare-metal/container-linux/kubernetes/variables.tf) source.
|
Check the [variables.tf](https://github.com/poseidon/typhoon/blob/master/bare-metal/container-linux/kubernetes/variables.tf) source.
|
||||||
|
|
|
@ -187,9 +187,6 @@ kube-system kube-scheduler-ip-10.132.115.81 1/1 Running 0
|
||||||
|
|
||||||
Learn about [maintenance](/topics/maintenance/) and [addons](/addons/overview/).
|
Learn about [maintenance](/topics/maintenance/) and [addons](/addons/overview/).
|
||||||
|
|
||||||
!!! note
|
|
||||||
On Container Linux clusters, install the `CLUO` addon to coordinate reboots and drains when nodes auto-update. Otherwise, updates may not be applied until the next reboot.
|
|
||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
|
|
||||||
Check the [variables.tf](https://github.com/poseidon/typhoon/blob/master/digital-ocean/container-linux/kubernetes/variables.tf) source.
|
Check the [variables.tf](https://github.com/poseidon/typhoon/blob/master/digital-ocean/container-linux/kubernetes/variables.tf) source.
|
||||||
|
|
|
@ -194,9 +194,6 @@ kube-system kube-scheduler-controller-0 1/1 Running 0
|
||||||
|
|
||||||
Learn about [maintenance](/topics/maintenance/) and [addons](/addons/overview/).
|
Learn about [maintenance](/topics/maintenance/) and [addons](/addons/overview/).
|
||||||
|
|
||||||
!!! note
|
|
||||||
On Container Linux clusters, install the `CLUO` addon to coordinate reboots and drains when nodes auto-update. Otherwise, updates may not be applied until the next reboot.
|
|
||||||
|
|
||||||
## Variables
|
## Variables
|
||||||
|
|
||||||
Check the [variables.tf](https://github.com/poseidon/typhoon/blob/master/google-cloud/container-linux/kubernetes/variables.tf) source.
|
Check the [variables.tf](https://github.com/poseidon/typhoon/blob/master/google-cloud/container-linux/kubernetes/variables.tf) source.
|
||||||
|
|
|
@ -75,7 +75,6 @@ nav:
|
||||||
- 'Worker Pools': 'advanced/worker-pools.md'
|
- 'Worker Pools': 'advanced/worker-pools.md'
|
||||||
- 'Addons':
|
- 'Addons':
|
||||||
- 'Overview': 'addons/overview.md'
|
- 'Overview': 'addons/overview.md'
|
||||||
- 'CLUO': 'addons/cluo.md'
|
|
||||||
- 'Nginx Ingress': 'addons/ingress.md'
|
- 'Nginx Ingress': 'addons/ingress.md'
|
||||||
- 'Prometheus': 'addons/prometheus.md'
|
- 'Prometheus': 'addons/prometheus.md'
|
||||||
- 'Grafana': 'addons/grafana.md'
|
- 'Grafana': 'addons/grafana.md'
|
||||||
|
|
Loading…
Reference in New Issue