kubernetes/cluster/addons
Spencer Peterson bd44ef811d Fix kube-addon-manager overwriting resources with EnsureExists
The addon manager readme states

> - Addons with label `addonmanager.kubernetes.io/mode=EnsureExists` will be checked for
> existence only. Users can edit these addons as they want.

However, the start_addon function was using `kubectl apply` to create
resources regardless of mode. This change switches between `kubectl
create` and `kubectl apply` depending on mode.

Additionally implemented tests for create_resource fn

 - Refactor functions and main executable
 - Quick tests in bash
 - Tests for Reconcile, EnsureExists behavior
 - Check for completeness with multi resource configs
2020-09-24 21:26:56 +00:00
..
addon-manager Fix kube-addon-manager overwriting resources with EnsureExists 2020-09-24 21:26:56 +00:00
calico-policy-controller Update Calico cpva to v0.8.2 2020-04-28 09:36:14 +03:00
cluster-loadbalancing Update yaml files to use seccomp GA syntax 2020-08-13 08:45:36 +01:00
dashboard Merge pull request #93095 from pjbgf/migrate-seccomp-usage-to-ga 2020-08-28 12:35:49 -07:00
device-plugins/nvidia-gpu feat: cleanup pod critical pod annotations feature 2019-08-09 08:41:23 +08:00
dns Merge pull request #93095 from pjbgf/migrate-seccomp-usage-to-ga 2020-08-28 12:35:49 -07:00
dns-horizontal-autoscaler Merge pull request #94294 from millermatt/patch-1 2020-08-29 15:44:49 -07:00
fluentd-elasticsearch Update yaml files to use seccomp GA syntax 2020-08-13 08:45:36 +01:00
fluentd-gcp Merge pull request #85923 from MrHohn/sig-gcp-owner-file 2020-04-02 19:03:46 -07:00
ip-masq-agent beta.kubernetes.io/os is already deprecated 2020-05-15 08:27:06 +08:00
kube-proxy Replace Beta OS/arch labels with the GA ones 2020-02-13 09:38:51 -08:00
metadata-agent Update yaml files to use seccomp GA syntax 2020-08-13 08:45:36 +01:00
metadata-proxy cluster/addons/metadata-proxy: cleanup inactive members from OWNERS 2020-07-11 21:03:04 +05:30
metrics-server Update yaml files to use seccomp GA syntax 2020-08-13 08:45:36 +01:00
node-problem-detector let standalone npd use kubelet credentials 2019-11-08 14:50:41 -08:00
rbac Add rbac patch permissions for system:controller:glbc ingresses/status 2020-08-20 20:34:23 -07:00
storage-class Merge pull request #75638 from ramnar/bugfix_24thMarch 2019-06-20 06:54:49 -07:00
volumesnapshots Update snapshot controller to use k8s.gcr.io 2020-08-11 18:34:24 -07:00
BUILD Update repo-infra, bazel-skylib, rules_docker, and rules_go dependencies 2019-02-12 17:55:10 -08:00
OWNERS /cluster: add / update OWNERS 2020-04-24 03:21:07 +03:00
README.md Updated cluster/addons readme to match and point to docs 2017-10-18 10:36:24 -04:00

Legacy Cluster add-ons

For more information on add-ons see the documentation.

Overview

Cluster add-ons are resources like Services and Deployments (with pods) that are shipped with the Kubernetes binaries and are considered an inherent part of the Kubernetes clusters.

There are currently two classes of add-ons:

  • Add-ons that will be reconciled.
  • Add-ons that will be created if they don't exist.

More details could be found in addon-manager/README.md.

Cooperating Horizontal / Vertical Auto-Scaling with "reconcile class addons"

"Reconcile" class addons will be periodically reconciled to the original state given by the initial config. In order to make Horizontal / Vertical Auto-scaling functional, the related fields in config should be left unset. More specifically, leave replicas in ReplicationController / Deployment / ReplicaSet unset for Horizontal Scaling, leave resources for container unset for Vertical Scaling. The periodic reconcile won't clobbered these fields, hence they could be managed by Horizontal / Vertical Auto-scaler.

Add-on naming

The suggested naming for most of the resources is <basename> (with no version number). Though resources like Pod, ReplicationController and DaemonSet are exceptional. It would be hard to update Pod because many fields in Pod are immutable. For ReplicationController and DaemonSet, in-place update may not trigger the underlying pods to be re-created. You probably need to change their names during update to trigger a complete deletion and creation.

Analytics