Commit Graph

7374 Commits (3d09101b6ff404da9530a3d3cf1383987dc20482)

Author SHA1 Message Date
Kris bfe9ee9425 Move uncordon to after the node is ready
It is possible that the node API object doesn't exist in a brief
window between recreation and registering. By moving the uncordon
until after the node is ready, we can be sure the API object exists.
2018-05-11 09:57:04 -07:00
Kubernetes Submit Queue b617748f7b
Merge pull request #62905 from serathius/event-exporter-region
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>.

[fluentd-gcp addon] Pass region in seperate field

This PR makes location passed to event-exporter based on `MULTIZONE` env.

Fixes https://github.com/kubernetes/kubernetes/issues/62399
```release-note
NONE
```
/cc @loburm
2018-05-11 06:00:44 -07:00
Marek Siarkowicz f351b00a99 [fluentd-gcp addon] Pass region in seperate field 2018-05-11 09:50:07 +02:00
Kubernetes Submit Queue f9974ef4c3
Merge pull request #63672 from shyamjvs/bump-down-cos-version
Automatic merge from submit-queue (batch tested with PRs 62665, 62194, 63616, 63672, 63450). 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>.

Bump down to cos-stable-65 in config-test

Until https://github.com/kubernetes/kubernetes/issues/62456 is fixed (and we have a good patched version of cos-66), we probably should not be using the current version for testing which we anyway know we wouldn't be using for prod due to the bug.

/cc @yujuhong @filbranden @wojtek-t 
Wdyt?

```release-note
NONE
```
2018-05-10 12:56:23 -07:00
Kubernetes Submit Queue 1fe589fbb7
Merge pull request #63616 from krousey/node-upgrade
Automatic merge from submit-queue (batch tested with PRs 62665, 62194, 63616, 63672, 63450). 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>.

Uncordon the node after upgrade

**What this PR does / why we need it**:
Previous logic was relying on the node to recreate the node API object
and, as a side-effect, uncordon itself. A change went in that no
longer ensures the node recreates itself, so the bug in this logic was exposed.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #63506

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```

cc @dchen1107 @AishSundar
2018-05-10 12:56:20 -07:00
Shyam Jeedigunta 47b12c45cc Bump down to cos-stable-65 in config-test 2018-05-10 16:24:06 +02:00
Kris 231fe79332 Uncordon the node after upgrade
Previous logic was relying on the node to recreate the node API object
and, as a side-effect, uncordon itself. A change went in that no
longer ensures the node recreates itself, so the bug in this logic was exposed.
2018-05-09 11:11:09 -07:00
Kubernetes Submit Queue 002078dc97
Merge pull request #62354 from johnsca/feature/aws-charm
Automatic merge from submit-queue (batch tested with PRs 62354, 62934, 63502). 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 support for AWS charm

Support AWS integration via proxy charm.



**What this PR does / why we need it**: Add support for Juju charms to connect to AWS integration charm to automatically manage IAM tags and roles, and cloud-provider setting for AWS.

**Release note**:

```release-note
NONE
```
2018-05-09 09:30:08 -07:00
Kubernetes Submit Queue 0c3edc6f96
Merge pull request #62166 from mbert/master
Automatic merge from submit-queue (batch tested with PRs 57954, 62166). 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>.

fluentd-elasticsearch addon: allow graceful shutdown in fluentd-es image.

This PR contains an optimisation to the fluentd-elasticsearch addon. Restarting fluentd pods took unnecessarily long because the start script in the image did not support propagating signals to the actual fluentd process. This patch fixes this behaviour.

```release-note
NONE
```
2018-05-09 07:17:12 -07:00
Kubernetes Submit Queue ba0b90e031
Merge pull request #63535 from serathius/heapster-v1.5.3
Automatic merge from submit-queue (batch tested with PRs 63535, 63528). 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>.

Bump Heapster to v1.5.3

This PR updates heapster version in all cluster-monitoring addons

Heapster Changelog:
* Fix stackdriver metrics for node memory using wrong metric type

```release-note
Bump Heapster to v1.5.3
```
/cc @kawych
2018-05-08 19:38:08 -07:00
Kubernetes Submit Queue a743392937
Merge pull request #63353 from bmoyles0117/fix-stackdriver-metadata-agent-url-for-fluentd
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>.

Use the logging agent's node name as the metadata agent URL.

The Stackdriver Logging agent should use the node's hostname when it constructs the Stackdriver Metadata Agent's URL, currently, it's using the GKE Master's hostname, which is a bug.

**Release note:**
```release-note
[fluentd-gcp addon] Use the logging agent's node name as the metadata agent URL.
```
2018-05-08 16:20:43 -07:00
Marek Siarkowicz ea3f98deb7 Bump Heapster to v1.5.3 2018-05-08 11:06:41 +02:00
Kubernetes Submit Queue 940e716c06
Merge pull request #63323 from awly/gce-kubelet-ca
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>.

gce: plumb --kubelet-certificate-authority flag to apiserver

**What this PR does / why we need it**:
We want to start signing kubelets' serving certs with cluster CA. This
flag is required to enforce that on apiserver side.

**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-05-07 21:03:43 -07:00
Kubernetes Submit Queue c59393e9fd
Merge pull request #63266 from awly/exec-plugin-kubeconfig
Automatic merge from submit-queue (batch tested with PRs 63340, 63266). 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>.

gcp: allow non-bootstrap kubeconfig

**What this PR does / why we need it**:
Needed for https://github.com/kubernetes/community/pull/2022
This change lets us generate a non-bootstrap kubeconfig with exec plugin for authn.
The plugin does TLS bootstrapping internally.

**Special notes for your reviewer**:
Defaults when no new env vars are set will behave same as before this change.
`KUBELET_AUTH_TYPE` should never be `tls-auth` in practice, but leaving it there just in case.

**Release note**:
```release-note
NONE
```
2018-05-07 15:16:14 -07:00
Kubernetes Submit Queue e76c62274a
Merge pull request #63488 from wwwtyro/rye/arm64-registry
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 support for arm64 to the registry action of the kuberntes-worker juju charm.

**What this PR does / why we need it**: Add support for arm64 to the registry action of the kuberntes-worker juju charm.

**Release note**:
```release-note
NONE
```
2018-05-07 13:22:03 -07:00
Rye Terrell 1f7d38a154 Add support for arm64 to the registry action of the kuberntes-worker juju charm. 2018-05-07 09:12:16 -05:00
yankaiz 5fb034a33f Use IP_ALIAS_SIZE to calculate and update IP_ALIAS_SIZE. Error added when ip-alias is not enabled when IP_ALIAS_SIZE is not empty. 2018-05-04 14:10:08 -07:00
yankaiz 3989ec66eb Add MAX_PODS_PER_NODE env allowing kubelet to be max-pods aware. 2018-05-04 11:09:55 -07:00
Andrew Lytvynov 77c13d6dc7 Allow fetching bootstrap-kubeconfig from VM metadata 2018-05-03 11:32:18 -07:00
Kubernetes Submit Queue 51e97bfa6b
Merge pull request #63377 from Cynerva/gkk/fix-status-messages
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>.

juju: Make kubernetes-master status handling more robust

**What this PR does / why we need it**:

This fixes a charm hook failure that can occur after restarting kubernetes-master units in Juju-based Kubernetes deployments.

This should also hopefully make our status handling in kubernetes-master more robust in general, by making sure all of our `blocked`, `waiting`, and `active` status messages are handled in one place, on hook exit.

**Which issue(s) this PR fixes**:

https://github.com/juju-solutions/bundle-canonical-kubernetes/issues/523

**Release note**:

```release-note
NONE
```
2018-05-02 23:06:41 -07:00
Kubernetes Submit Queue b5f61ac129
Merge pull request #62657 from matthyx/master
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>.

Update all script shebangs to use /usr/bin/env interpreter instead of /bin/interpreter

This is required to support systems where bash doesn't reside in /bin (such as NixOS, or the *BSD family) and allow users to specify a different interpreter version through $PATH manipulation.
https://www.cyberciti.biz/tips/finding-bash-perl-python-portably-using-env.html
```release-note
Use /usr/bin/env in all script shebangs to increase portability.
```
2018-05-02 19:44:32 -07:00
George Kraft e31fa616b1 juju: Make kubernetes-master status handling more robust 2018-05-02 16:43:22 -05:00
Bryan Moyles a0a7686e38 Use the logging agent's node name as the metadata agent URL. 2018-05-02 10:12:35 +02:00
Kubernetes Submit Queue 62b58e625e
Merge pull request #63341 from wwwtyro/rye/arm64-microbot
Automatic merge from submit-queue (batch tested with PRs 63138, 63091, 63201, 63341). 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>.

Adds support for arm64 to microbot example of the kubernetes-worker charm.

**What this PR does / why we need it**: Adds support for arm64 to microbot example of the kubernetes-worker charm.

**Release note**:

```release-note
NONE
```
2018-05-01 16:00:18 -07:00
Rye Terrell db9e83f125 adds support for arm64 to microbot example of the kubernetes-worker charm 2018-05-01 14:49:18 -05:00
Andrew Lytvynov 0a567f0990 gcp: allow non-bootstrap kubeconfig
The regular kubeconfig is fetched from metadata when
CREATE_BOOTSTRAP_KUBECONFIG==false.

We will experiment with an exec plugin that does TLS bootstrapping
internally: #61803
2018-05-01 10:40:32 -07:00
Kubernetes Submit Queue dd1d5c74f2
Merge pull request #63152 from mikedanese/break
Automatic merge from submit-queue (batch tested with PRs 63152, 63253). 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>.

Revert "Revert "gce: move etcd dir cleanup to manifests""

This reverts commit 2d6b4d0fa0.

```release-note
NONE
```
2018-05-01 07:36:09 -07:00
Andrew Lytvynov e86bdf5801 gce: plumb --kubelet-certificate-authority flag to apiserver
We want to start signing kubelets' serving certs with cluster CA. This
flag is required to enforce that on apiserver side.
2018-04-30 15:16:22 -07:00
Kubernetes Submit Queue 699209db2a
Merge pull request #55971 from asottile/patch-1
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>.

`exec` away the shell for node-problem-detector
2018-04-30 15:13:59 -07:00
Marek Siarkowicz f39b60824a [prometheus addon] Fix missing storage class in alertmanager PVC 2018-04-30 12:30:20 +02:00
Kubernetes Submit Queue f8fea90d8d
Merge pull request #62852 from serathius/prometheus-statefulset
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>.

[Prometheus addon] Use StatefulSet

This PR changes prometheus server manifest from deployment to statefulset. 
Version label is removed from pods because statefulset disallows updating selectors.

```release-note
NONE
```
/cc @branch @kawych
2018-04-29 04:34:36 -07:00
Kubernetes Submit Queue 24bc761aec
Merge pull request #62508 from dims/allow-customized-image-for-dockerized-kubelet
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>.

Support containerized kubelet in CI

**What this PR does / why we need it**:

  * Adjust hyperkube Makefile to allow HYPERKUBE_BIN to be
    specified from outside

  * new DOCKER_ROOT variable to specify --root-dir and associated
    volume for kubelet to know where docker directory lives

  * Save the docker logs when we kill the kubelet container

  * Allow customized image for dockerized kubelet and build a Default
    image if one is not specified

  We should allow a custom build using script we have:
  `VERSION="latest" REGISTRY="k8s.gcr.io" hack/dev-push-hyperkube.sh`

  to be used quickly using DOCKERIZE_KUBELET. To do this we remove the
  hard coded `k8s.gcr.io/kubelet` image and introduce a new environment
  variable `KUBELET_IMAGE`.

  Note that we are switching to hyperkube from kubelet as we have a quick
  and easy script to build hyperkube image and load it into local docker
  daemon. This reduces bad hacks like `docker tag
  k8s.gcr.io/hyperkube-amd64:<tag> k8s.gcr.io/kubelet:latest` being used
  by folks today (see 62057)

  * Better cope with PID 0 when running "docker inspect" to look for
    the process id for kubelet container


**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-27 21:06:23 -07:00
Kubernetes Submit Queue ded95bc9f1
Merge pull request #62863 from awly/kube-controller-manager-disable-controllers
Automatic merge from submit-queue (batch tested with PRs 62718, 62863). 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>.

gcp: add env var to configure enabled controllers in controller-manager

```release-note
NONE
```
2018-04-27 20:16:05 -07:00
Marek Siarkowicz b691f2ab1d Add other prometheus monitoring components 2018-04-26 17:14:49 +02:00
Mike Danese 6817494424 Revert "Revert "gce: move etcd dir cleanup to manifests""
This reverts commit 2d6b4d0fa0.
2018-04-25 08:57:02 -07:00
Kubernetes Submit Queue aab5cb4c34
Merge pull request #63142 from serathius/prometheus-readme
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>.

[prometheus addon] Add readme

This PR adds README file that warns users about it's intended use, and redirects to more mature projects.

```release-note
NONE
```
/cc @brancz
2018-04-25 08:50:47 -07:00
Kubernetes Submit Queue e1e050a094
Merge pull request #63137 from krzysied/etcd_version_typo_fix
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>.

etcd version typo fix

**What this PR does / why we need it**:
Allows BUNDLED_VERSIONS string to be parsed correctly.

```release-note
NONE
```
2018-04-25 08:09:28 -07:00
Marek Siarkowicz e2c5bd3711 [prometheus addon] Add readme 2018-04-25 15:06:25 +02:00
Shyam Jeedigunta 2d6b4d0fa0 Revert "gce: move etcd dir cleanup to manifests"
This reverts commit ae73bed1d0.
2018-04-25 12:54:12 +02:00
Krzysztof Siedlecki e6f14191ce version typo fix 2018-04-25 12:46:33 +02:00
Kubernetes Submit Queue f646ece977
Merge pull request #63074 from shyamjvs/fix-ip-alias-bug
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>.

Fix IP_ALIAS_SUBNETWORK env var assignment in GCE setup

/cc @wojtek-t 

```release-note
NONE
```
2018-04-24 15:16:19 -07:00
Kubernetes Submit Queue 5b0df3656e
Merge pull request #63000 from kawych/versions
Automatic merge from submit-queue (batch tested with PRs 62590, 62818, 63015, 62922, 63000). 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>.

Remove METADATA_AGENT_VERSION config option

**What this PR does / why we need it**:
Remove METADATA_AGENT_VERSION configuration option. To keep Metadata Agent version consistent across Kubernetes deployments.

**Release note**:
```release-note
Remove METADATA_AGENT_VERSION configuration option.
```
2018-04-24 14:22:23 -07:00
Kubernetes Submit Queue a399d9201b
Merge pull request #62922 from krousey/node-upgrade
Automatic merge from submit-queue (batch tested with PRs 62590, 62818, 63015, 62922, 63000). 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>.

Use BootID instead of ExternalID to check for new instance

PR #60692 changed the way that ExternalID is reported on GCE. Its value
is no longer the GCE instance ID. It is the instance name. So it
cannot be used to determine VM uniqueness across time. Instead,
upgrade will check that the boot ID changed.

**What this PR does / why we need it**:
Node upgrades stall out because the external ID remains the same across upgrades now.

**Which issue(s) this PR fixes**:
Fixes #62713 

**Release note**:
```release-note
NONE
```
2018-04-24 14:22:20 -07:00
Kubernetes Submit Queue 7105964f62
Merge pull request #63015 from mikedanese/etcd-empty-dir
Automatic merge from submit-queue (batch tested with PRs 62590, 62818, 63015, 62922, 63000). 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>.

gce: move etcd dir cleanup to manifests

we deploy it as a manifest, not an addon so locate it with the other
master manifests.

This is the last "bare pod addon", which needs to be remove to improve the situation in https://github.com/kubernetes/kubernetes/issues/62808.
 
```release-note

```
2018-04-24 14:22:16 -07:00
Mike Danese ae73bed1d0 gce: move etcd dir cleanup to manifests
we deploy it as a manifest, not an addon so locate it with the other
master manifests.
2018-04-24 08:02:32 -07:00
Davanum Srinivas f2959ab2b0 Support containerized kubelet in CI
* Adjust hyperkube Makefile to allow HYPERKUBE_BIN to be
    specified from outside

  * new DOCKER_ROOT variable to specify --root-dir and associated
    volume for kubelet to know where docker directory lives

  * Save the docker logs when we kill the kubelet container

  * Allow customized image for dockerized kubelet and build a Default
    image if one is not specified

  We should allow a custom build using script we have:
  `VERSION="latest" REGISTRY="k8s.gcr.io" hack/dev-push-hyperkube.sh`

  to be used quickly using DOCKERIZE_KUBELET. To do this we remove the
  hard coded `k8s.gcr.io/kubelet` image and introduce a new environment
  variable `KUBELET_IMAGE`.

  Note that we are switching to hyperkube from kubelet as we have a quick
  and easy script to build hyperkube image and load it into local docker
  daemon. This reduces bad hacks like `docker tag
  k8s.gcr.io/hyperkube-amd64:<tag> k8s.gcr.io/kubelet:latest` being used
  by folks today (see 62057)

  * Better cope with PID 0 when running "docker inspect" to look for
    the process id for kubelet container
2018-04-24 10:19:50 -04:00
Kubernetes Submit Queue 6917ed47fe
Merge pull request #63033 from bmoyles0117/fix-liveness-probe-for-metadata-agent-off-master
Automatic merge from submit-queue (batch tested with PRs 63033, 62993). 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>.

Fix bash command for liveness probes in the metadata agents.

**What this PR does / why we need it**:
This PR resolves an error in the way that the bash liveness probe is defined.

**Release note**:
```release-note
Fix the liveness probe to use `/bin/bash -c` instead of `/bin/bash c`.
```
2018-04-24 06:48:09 -07:00
Shyam Jeedigunta 7fb7e6f890 Fix IP_ALIAS_SUBNETWORK env var assignment in GCE setup 2018-04-24 15:00:01 +02:00
Kubernetes Submit Queue eea406c108
Merge pull request #62669 from immutableT/deploy_helper_test
Automatic merge from submit-queue (batch tested with PRs 63007, 62919, 62669, 62860). 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 unit test for configure-helper.sh.

**What this PR does / why we need it**:
Add a framework for unit-testing configure-helper.sh.
configure-helper.sh plays a critical role in initializing clusters both on GCE and GKE. It is currently, over 2K lines of code, yet it has no unit test coverage.
This PR proposes a framework/approach on how to provide test coverage for this component.
Notes: 
1. Changes to configure-helper.sh itself were necessary to enable sourcing of this script for the purposes of testing.
2. As POC api_manifest_test.go covers the logic related to the initialization of apiserver when integration with KMS was requested. The hope is that the same approach could be extended to the rest of the script.

**Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
Fixes #

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-23 15:45:17 -07:00
Kubernetes Submit Queue 6726844cb2
Merge pull request #63007 from Cynerva/gkk/update-gcr-url
Automatic merge from submit-queue (batch tested with PRs 63007, 62919, 62669, 62860). 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>.

juju: Use k8s.gcr.io url for arm64 ingress image

**What this PR does / why we need it**:

This updates the kubernetes-worker charm to point to k8s.gcr.io for the nginx-ingress-controller-arm64 image. This should have no impact on functionality today, but as I understand it, we're all standardizing on k8s.gcr.io to allow for future changes.

**Release note**:

```release-note
NONE
```
2018-04-23 15:45:10 -07:00