Commit Graph

529 Commits

Author SHA1 Message Date
Shyam Jeedigunta
2d6b4d0fa0 Revert "gce: move etcd dir cleanup to manifests"
This reverts commit ae73bed1d0.
2018-04-25 12:54:12 +02: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
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
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
immutablet
dc78d72f04 Add unit test for configure-helper. 2018-04-23 12:18:57 -07:00
Karol Wychowaniec
6fb42aea4a Remove METADATA_AGENT_VERSION config option 2018-04-23 12:15:48 +02:00
Kubernetes Submit Queue
77f5324223
Merge pull request #62409 from rajansandeep/corednsscaler
Automatic merge from submit-queue (batch tested with PRs 62409, 62856). 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>.

DNS-Autoscaler support for CoreDNS

**What this PR does / why we need it**:
This PR provides the dns-horizontal autoscaler for CoreDNS in kube-up, enabling the tests to pass once CoreDNS is the default. 

**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 #61176 

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
2018-04-23 01:35:07 -07:00
Kubernetes Submit Queue
bb8f58b6e6
Merge pull request #62195 from serathius/prometheus
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 prometheus cluster monitoring addon.

This PR adds new cluster monitoring addon based on prometheus.
It adds prometheus deployment with e2e tests.
Additional components will be added iterativly in future.
Manifests based on current Helm chart.
At current state it's not intended for production use.

cc @piosz @kawych @miekg
```release-note
Add prometheus cluster monitoring addon to kube-up
```
/sig instrumentation
/kind feature
/priority important-soon
2018-04-18 02:17:48 -07:00
wojtekt
1bcdfdbe00 Increase max requests inflight limits in gce for very large clusters 2018-04-16 20:46:41 +02:00
Michael Taufen
420edc7b50 provision Kubelet config file for GCE
This PR extends the client-side startup scripts to provision a Kubelet
config file instead of legacy flags. This PR also extends the
master/node init scripts to install this config file from the GCE
metadata server, and provide the --config argument to the Kubelet.
2018-04-13 13:08:38 -07:00
Marek Siarkowicz
113987e0db Add prometheus addon 2018-04-13 11:12:08 +02:00
Kubernetes Submit Queue
1d905bbdfc
Merge pull request #61862 from immutableT/kms-plugin-deploy-cherry-pick
Automatic merge from submit-queue (batch tested with PRs 59636, 62429, 61862). 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>.

Inject CloudKMS Plugin container into Kube-APIServer pod.

**What this PR does / why we need it**:
Inject CloudKMS Plugin container into Kube-APIServer pod when etcd level encryption via CloudKMS Plugin is requested.
**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-12 02:02:24 -07:00
Sandeep Rajan
8d5b9d3c36 autoscaler support for CoreDNS 2018-04-11 11:54:23 -04:00
immutablet
cbc428395c Enable CloudKMS Plugin deployment. 2018-04-10 09:47:32 -07:00
Kubernetes Submit Queue
4009cb3b8b
Merge pull request #62076 from qingling128/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>.

Add support to ingest log entries to Stackdriver against new "k8s_container" and "k8s_node" resources.

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

**Which issue(s) this PR fixes**
Fluentd 0.14 has some memory leak issues that caused the e2e tests to be flaky. Downgrading to v0.12.

**Special notes for your reviewer**:
We never released any previous version with Fluentd v0.14. Only upgraded it very recently. So this downgrading is not visible to users.

**Release note**:
```release-note
Add support to ingest log entries to Stackdriver against new "k8s_container" and "k8s_node" resources.
```
2018-04-06 09:51:32 -07:00
Ling Huang
cbec62ada4 Add support to ingest log entries to Stackdriver against new "k8s_container" and "k8s_node" resources. 2018-04-06 08:47:19 -04:00
Supriya Garg
e350c46116 Update the stackdriver agents yaml to include a deployment for cluster level resources 2018-04-05 10:09:11 -04:00
Kubernetes Submit Queue
839fe27dc8
Merge pull request #61567 from davidz627/fix/localSSDPermissions
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>.

Fixes permissions error for Local SSD when created with NODE_LOCAL_SSDS flag

**What this PR does / why we need it**:
The PR fixes a permissions error introduced in 1.9 whereby users are unable to write to their Local SSD if it is created with the `NODE_LOCAL_SSDS` flag.

This will need to be cherrypicked to 1.9 and 1.10.

/sig storage
/kind bug
/assign @msau42 

```release-note
NONE
```
2018-03-26 05:40:18 -07:00
David Zhu
d3670856dd Added chmod a+x for local SSD when disk is created with NODE_LOCAL_SSDS 2018-03-22 16:03:03 -07:00
Zhen Wang
d5c2cdcbbb Update GCP fluentd configmap for GKE node journal logging 2018-03-22 12:04:11 -07:00
Mik Vyatskov
07905d6ee8 Make log audit backend configurable in GCE
Signed-off-by: Mik Vyatskov <vmik@google.com>
2018-03-08 14:09:32 +01:00
Kubernetes Submit Queue
cca92f67aa
Merge pull request #60639 from konryd/dashboardmesg
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>.

Added dashboard banner passthrough to GCE kube-up.

**What this PR does / why we need it**: This PR adds GCE-specific provider flag for setting system-banner in the dashboard ui.

```release-note
NONE
```
2018-03-05 07:52:42 -08:00
Kubernetes Submit Queue
209cdd9048
Merge pull request #60237 from crassirostris/audit-use-buffered-backend
Automatic merge from submit-queue (batch tested with PRs 60542, 60237). 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>.

Audit use buffered backend

This is the next step after https://github.com/kubernetes/kubernetes/pull/60076

This PR fixes https://github.com/kubernetes/kubernetes/issues/53020, to address https://github.com/kubernetes/kubernetes/issues/53006 later

In this PR buffered backend, introduced in https://github.com/kubernetes/kubernetes/pull/60076, is used to replace ad-hoc solution for webhook and add an ability to enable buffering for the log audit backend.

```release-note
Log audit backend can now be configured to perform batching before writing events to disk.
```

/cc @sttts @tallclair @ericchiang @CaoShuFeng
2018-03-01 11:42:48 -08:00
Mik Vyatskov
881e6d4f6f Add buffering to the log audit backend
Signed-off-by: Mik Vyatskov <vmik@google.com>
2018-03-01 14:30:51 +01:00
Konrad Delong
86c5d0f603 Added dashboard banner passthrough to GCE kube-up. 2018-03-01 12:03:40 +01:00
Kubernetes Submit Queue
f82b38cfaa
Merge pull request #60470 from cjcullen/sched
Automatic merge from submit-queue (batch tested with PRs 60470, 59149, 56075, 60280, 60504). 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 scheduling.k8s.io to the known groups for audit logging on GCE.

This lets PriorityClass objects get logged.

```release-note
NONE
```
2018-02-28 04:54:26 -08:00
Mike Danese
857690baf5 gce: add support for enabling TokenRequest feature 2018-02-27 18:54:03 -08:00
Kubernetes Submit Queue
7480face90
Merge pull request #59128 from bmoyles0117/master
Automatic merge from submit-queue (batch tested with PRs 60433, 59982, 59128, 60243, 60440). 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] Update to use Stackdriver Agent image.

Update the fluentd DaemonSet to use the Stackdriver Logging Agent container image. 
The Stackdriver Logging Agent container image uses fluentd v0.14.25.
We add a special label to each log record as a signal to logging backends to handle both new and legacy resource types.

**Release note:**
```release-note
[fluentd-gcp addon] Switch to the image, provided by Stackdriver.
```
2018-02-27 08:25:43 -08:00
Kubernetes Submit Queue
44c166cd73
Merge pull request #60020 from roberthbailey/kubelet-flags
Automatic merge from submit-queue (batch tested with PRs 59310, 60424, 60308, 60436, 60020). 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>.

 Move kubelet flag generation from the node to the client

Pass the kubelet flags through a new variable in kube-env (KUBELET_ARGS).

Remove vars from kube-env that were only used for kubelet flags.

This will make it simpler to gradually migrate to dynamic kubelet
config, because we can gradually replace flags with config file
options in a single place without worrying about the plumbing to
move variables from the client onto the node.

/cc @verult (re: https://github.com/kubernetes/kubernetes/pull/58171)

**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
action required: [GCP kube-up.sh] Some variables that were part of kube-env are no longer being set (ones only used for kubelet flags) and are being replaced by a more portable mechanism (kubelet configuration file). The individual variables in the kube-env metadata entry were never meant to be a stable interface and this release note only applies if you are depending on them.
```
2018-02-27 07:11:55 -08:00
CJ Cullen
ad227abfdc Add scheduling.k8s.io to the known groups for audit logging on GCE. 2018-02-26 17:53:43 -08:00
Bryan Moyles
84a86cffce Update to use Stackdriver Agent image.
Prometheus is enabled by default.
2018-02-26 14:05:33 -05:00
wojtekt
10e423a69e Fix regional clusters startup 2018-02-26 15:20:15 +01:00
Robert Bailey
fe10c27ec0 Move kubelet flag generation from the node to the client, and
pass the kubelet flags through a new variable in kube-env
(KUBELET_ARGS).

Remove vars from kube-env that were only used for kubelet flags.

This will make it simpler to gradually migrate to dynamic kubelet
config, because we can gradually replace flags with config file
options in a single place without worrying about the plumbing to
move variables from the client onto the node.
2018-02-24 22:39:36 -08:00
Kubernetes Submit Queue
1f03d40170
Merge pull request #60320 from cjcullen/flags
Automatic merge from submit-queue (batch tested with PRs 59882, 59434, 57722, 60320, 51249). 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>.

Allow TTLs to be plumbed through to webhook authn/authz in gce scripts.

Just allows these flags to be configured from the startup scripts.
2018-02-24 18:43:36 -08:00
Kubernetes Submit Queue
a85f7d9fff
Merge pull request #58090 from serathius/pass-location-to-event-exporter
Automatic merge from submit-queue (batch tested with PRs 60054, 60202, 60219, 58090, 60275). 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>.

Pass location parameter to event exporter.

**What this PR does / why we need it**:
This PR makes event-exporter export cluster location together with events.

**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-23 23:15:43 -08:00
CJ Cullen
61a21e903f Allow TTLs to be plumbed through to webhook authn/authz in gce scripts. 2018-02-23 10:58:37 -08:00
Mike Danese
f82fa4dc9a gce: allow extra addons to be sourced form a url 2018-02-22 14:33:52 -08:00
Marek Siarkowicz
bbfcd681b5 Pass location parameter to event exporter.
Location passed based on ZONE from kube-env.
2018-02-21 12:54:29 +01:00
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
Kubernetes Submit Queue
3a60b0b4f2
Merge pull request #59686 from nicksardo/gce-roles
Automatic merge from submit-queue (batch tested with PRs 59683, 59964, 59841, 59936, 59686). 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: Create cloud-provider roles and bindings via addons

**What this PR does / why we need it**:
This removes the `cloud-provider` role and role binding from the rbac boostrapper and replaces it with a policy applied via addon mgr. This also creates a new clusterrole allowing the service account to create events for any namespace.  

**Special notes for your reviewer**:
/assign @bowei @timstclair 
/cc timstclair

**Release note**:
```release-note
GCE: A role and clusterrole will now be provided with GCE/GKE for allowing the cloud-provider to post warning events on all services and watching configmaps in the kube-system namespace.
```
2018-02-16 16:31:40 -08:00
Martin Ostrowski
ec7f7a5c5f 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.
2018-02-16 10:48:09 -08:00
Nick Sardo
911a082d65 Add cloud-provider policies to be applied via addon mgr 2018-02-15 14:49:33 -08:00
Kubernetes Submit Queue
d3bacb914c
Merge pull request #59657 from x13n/manual-fluentd-gcp-scaler
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>.

Enable scaling fluentd-gcp resources using ScalingPolicy.

See https://github.com/justinsb/scaler for more details about ScalingPolicy resource.

**What this PR does / why we need it**:
This is adding a way to override fluentd-gcp resources in a running cluster. The resources syncing for fluentd-gcp is decoupled from addon manager.

**Special notes for your reviewer**:

**Release note**:
```release-note
fluentd-gcp resources can be modified via a ScalingPolicy
```

cc @kawych @justinsb
2018-02-15 03:42:14 -08:00
Kubernetes Submit Queue
bc9c6df31d
Merge pull request #59103 from Random-Liu/upload-container-runtime-log
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>.

Upload container runtime log to sd/es.

I've verified this in my environment. My stackdriver has an extra `container-runtime` entry for node log, and it collects container runtime daemon log correctly.

@yujuhong @feiskyer @crassirostris @piosz 
@kubernetes/sig-node-pr-reviews @kubernetes/sig-instrumentation-pr-reviews 
Signed-off-by: Lantao Liu <lantaol@google.com>

**Release note**:

```release-note
Container runtime daemon (e.g. dockerd) logs in GCE cluster will be uploaded to stackdriver and elasticsearch with tag `container-runtime`
```
2018-02-14 03:33:21 -08:00
Kubernetes Submit Queue
cca7ccbff1
Merge pull request #59530 from rramkumar1/ipvs-plumbing
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 a new environment variable to the gce startup scripts called KUBE_PROXY_MODE

**What this PR does / why we need it**:
This PR adds a new environment variable called KUBE_PROXY_MODE to the startup scripts for gce. This variable will allow a user to specify the kube-proxy implementation they want to use, with the choices being ipvs or iptables (iptables is default). 

Next steps:

1. Need to remove use of feature gateway when IPVS goes GA
2. Need to add logic of loading required ipvs kernel modules in the scripts 

Question: If the proxier is IPVS, is it necessary to have the iptables sync period flags? 

**Release note**:
```release-note
None
```
2018-02-13 17:45:32 -08:00
Lantao Liu
8d920d095c Upload container runtime log to sd/es.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-02-13 18:25:02 +00:00
Daniel Kłobuszewski
6a48e343f0 Review #2 2018-02-13 10:57:29 +01:00
Di Xu
48388fec7e fix all the typos across the project 2018-02-11 11:04:14 +08:00
Daniel Kłobuszewski
2eb24f9ae1 Enable scaling fluentd-gcp resources using ScalingPolicy.
See https://github.com/justinsb/scaler for more details about ScalingPolicy resource.
2018-02-09 14:33:33 +01:00
Rohit Ramkumar
12d4eac038 Add a new environment variable to the startup scripts called
KUBE_PROXY_MODE
2018-02-08 15:10:07 -08:00