k3s/cluster/addons
Kubernetes Submit Queue a6b8c06380
Merge pull request #59378 from ostromart/istio_addon_ostromart
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.

Add code and yaml for Istio as an addon

This commit adds the following:
 - YAML for istio components to the addons directory (versions with
   and without auth)
 - logic to copy the appropriate YAML file into the addons manager
   dir, depending on ENABLE_ISTIO and ISTIO_AUTH_TYPE env vars
 - changes to addon manager script which allow plugins to exist in
   namespace other than kube-system. This is needed for Istio
   functionality
 - additional initialization for Istio in addon manager.

This has been manually tested - e2e tests are in progress but require additional code to enable istio in tests. See:
 - https://github.com/istio/istio/pull/2841
 - https://github.com/kubernetes/test-infra/pull/6612



**What this PR does / why we need it**:
Allow [Istio](https://istio.io/) to be installed as an addon. This simplifies the Istio setup process on k8s and GKE. Istio team is trying to make it easier for end users to get to a basic functional installation.  
**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-02-20 10:35:29 -08:00
..
addon-manager Add code and yaml for Istio as an addon 2018-02-16 10:48:09 -08:00
calico-policy-controller Merge pull request #59237 from tanshanshan/addons1 2018-02-12 15:44:36 -08:00
cluster-loadbalancing Switch to k8s.gcr.io vanity domain 2018-02-07 21:14:19 -08:00
cluster-monitoring use prometheus-to-sd 0.2.4 and fluentd-gcp-image 2.0.16 2018-02-16 09:16:59 +01:00
dashboard Merge pull request #59237 from tanshanshan/addons1 2018-02-12 15:44:36 -08:00
device-plugins/nvidia-gpu Switch to k8s.gcr.io vanity domain 2018-02-07 21:14:19 -08:00
dns Merge pull request #59237 from tanshanshan/addons1 2018-02-12 15:44:36 -08:00
dns-horizontal-autoscaler Merge pull request #59237 from tanshanshan/addons1 2018-02-12 15:44:36 -08:00
etcd-empty-dir-cleanup Merge pull request #59237 from tanshanshan/addons1 2018-02-12 15:44:36 -08:00
fluentd-elasticsearch Autogenerated: hack/update-bazel.sh 2018-02-16 13:43:01 -08:00
fluentd-gcp use prometheus-to-sd 0.2.4 and fluentd-gcp-image 2.0.16 2018-02-16 09:16:59 +01:00
ip-masq-agent Merge pull request #59237 from tanshanshan/addons1 2018-02-12 15:44:36 -08:00
istio Add code and yaml for Istio as an addon 2018-02-16 10:48:09 -08:00
kube-proxy Add wildcard tolerations to kube-proxy. 2017-11-29 12:36:58 -08:00
metadata-agent Fix RBAC permissions for metadata agent. 2018-02-06 13:47:37 +01:00
metadata-proxy use prometheus-to-sd 0.2.4 and fluentd-gcp-image 2.0.16 2018-02-16 09:16:59 +01:00
metrics-server Merge pull request #59237 from tanshanshan/addons1 2018-02-12 15:44:36 -08:00
node-problem-detector Switch to k8s.gcr.io vanity domain 2018-02-07 21:14:19 -08:00
python-image Switch to k8s.gcr.io vanity domain 2018-02-07 21:14:19 -08:00
rbac gce: split legacy kubelet node role binding and bootstrapper role binding 2017-12-13 21:56:18 -05:00
storage-class [addon/storage-class] update storageclass groupversion in storage-class 2017-10-22 19:50:47 +08:00
BUILD Use the pkg_tar wrapper from kubernetes/repo-infra 2018-01-18 17:10:16 -08:00
README.md Updated cluster/addons readme to match and point to docs 2017-10-18 10:36:24 -04:00

README.md

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