Commit Graph

135 Commits

Author SHA1 Message Date
Zhen Wang
953677d7a5 Use Node-Problem-Detector v0.6.3 on GCI 2019-04-05 11:08:24 -07:00
Kubernetes Prow Robot
aa5fda22f2
Merge pull request #75269 from javier-b-perez/gce-configure
gce: configure: validate SA has storage scope
2019-03-19 11:06:22 -07:00
Dan Williams
bfd8ad3268 build/gci: bump CNI version to 0.7.5 2019-03-18 17:16:42 -05:00
Javier Pérez Hernández
e783f0bcd4 gce: configure: validate SA has storage scope
If the VM SA doesn't have storage scope associated, don't use the
token in the curl request or the request will fail with 403.
2019-03-11 12:04:01 -07:00
Zhen Wang
efa96f7eb8 allows configuring NPD release and flags on GCI and add cluster e2e test 2019-02-26 21:21:54 -08:00
Javier Pérez Hernández
708d7df561 k8s: gci: configure: add token to curl calls
Modify script to use curl to get metadata and Service Account token.
When the SA doesn't have 'Storage Read' scope, it can only read
public files.
2019-02-15 11:00:35 -08:00
Zhen Wang
29de74375a Use Node-Problem-Detector v0.6.0 2018-11-28 11:44:36 -08:00
k8s-ci-robot
82a52de097
Merge pull request #68247 from awly/fetch-exec-plugin-license
Fetch gke-exec-plugin license file along with the binary
2018-10-03 15:21:31 -07:00
Pengfei Ni
fa42ba649a Update crictl to v1.12.0 2018-09-26 09:15:10 +08:00
Andrew Lytvynov
cea579f3c4 Fetch gke-exec-plugin license file along with the binary 2018-09-18 15:49:15 -07:00
Lantao Liu
7dc1e9af9d Generate crictl config for preload as well.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-08-01 22:50:35 +00:00
Lantao Liu
330ed52747 Update crictl to v1.11.1.
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-07-19 01:02:53 +00:00
Andrew Lytvynov
11a748c175 Always mark gke-exec-auth-plugin executable 2018-07-10 16:49:38 -07:00
Kubernetes Submit Queue
b525becead
Merge pull request #65319 from MaciekPytel/gke_manifests
Automatic merge from submit-queue (batch tested with PRs 65319, 64513, 65474, 65601, 65634). 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 custom manifests in GCP master setup

Add a hook in GCE setup script to allow using custom manifests on master, so we can decouple some GKE changes from k8s. Note that this PR just adds a hook there is no change in default behavior.

```release-note
```
2018-06-29 12:15:05 -07:00
Maciej Pytel
7119c8bd07 Allow custom manifests in GCP master setup 2018-06-29 15:49:54 +02:00
David Ashpole
c8758a774e update NPD version to v0.5.0 for gci 2018-06-25 13:13:39 -07:00
Lantao Liu
e862da1709 Update crictl to v1.11.0. 2018-06-19 18:04:15 -07:00
Andrew Lytvynov
7e444a453b Quote shell variable expansion 2018-05-31 16:04:19 -07:00
Andrew Lytvynov
1f7671b18d Pull gke-exec-auth-plugin binary on Nodes
If the plugin URL is set and VM is not master, pull the plugin binary.
2018-05-24 15:08:35 -07:00
Kubernetes Submit Queue
7b8bb6e7d3
Merge pull request #63357 from Random-Liu/install-and-use-crictl
Automatic merge from submit-queue (batch tested with PRs 63167, 63357). 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>.

Install and use crictl in gce kube-up.sh

Download and use crictl in gce kube-up.sh.

This PR:
1. Downloads crictl `v1.0.0-beta.0` onto the node, which supports CRI v1alpha2. We'll upgrade it to `v1.0.0-beta.1` soon after the release is cut.
2. Change `kube-docker-monitor` to `kube-container-runtime-monitor`, and let it use `crictl` to do health monitoring.
3. Change `e2e-image-puller` to use `crictl`. Because of https://github.com/kubernetes/kubernetes/issues/63355, it doesn't work now. But in `crictl v1.0.0-beta.1`, we are going to statically link it, and the `e2e-image-puller` should work again.
4. Use `systemctl kill --kill-who=main` instead of `pkill`, the reason is that:
  a. `pkill docker` will send `SIGTERM` to all processes including `dockerd`, `docker-containerd`, `docker-containerd-shim`. This is not a problem for Docker 17.03 CE, because `containerd-shim` in containerd 0.2.x doesn't exit with SIGERM (see [code](https://github.com/containerd/containerd/blob/v0.2.x/containerd-shim/main.go#L123)). However, `containerd-shim` in containerd 1.0+ does exit with SIGTERM (see [code](https://github.com/containerd/containerd/blob/master/cmd/containerd-shim/main_unix.go#L200)). This means that `pkill docker` and `pkill containerd` will kill all shim processes for Docker 17.11+ and containerd 1.0+.
  b. We can use `pkill -x` instead. However, docker systemd service name is `docker`, but daemon process name is `dockerd`. We have to introduce another environment variable to specify "daemon process name". Given so, it seems easier to just use `systemctl kill` which only requires systemd service name. `systemctl kill --kill-who=main` will make sure only main process receives SIGTERM.

Signed-off-by: Lantao Liu <lantaol@google.com>

/cc @filbranden @yujuhong @feiskyer @mrunalp @kubernetes/sig-node-pr-reviews @kubernetes/sig-cluster-lifecycle-pr-reviews 

**Release note**:

```release-note
Kubernetes cluster on GCE have crictl installed now. Users can use it to help debug their node. The documentation of crictl can be found https://github.com/kubernetes-incubator/cri-tools/blob/master/docs/crictl.md.
```
2018-05-15 21:18:12 -07:00
Lantao Liu
d94a2b39d9 Install and use crictl in gce kube-up.sh
Signed-off-by: Lantao Liu <lantaol@google.com>
2018-05-03 17:17:55 -07:00
Matthias Bertschy
9b15af19b2 Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
Lantao Liu
0ee734d49e Fix NPD preload. 2018-04-17 18:43:47 +00: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
Filipe Brandenburger
af3dff7cc8 Fix umask to actually intended behavior.
Fixes #52999.
2018-04-09 16:30:38 -07:00
Tim Hockin
3586986416 Switch to k8s.gcr.io vanity domain
This is the 2nd attempt.  The previous was reverted while we figured out
the regional mirrors (oops).

New plan: k8s.gcr.io is a read-only facade that auto-detects your source
region (us, eu, or asia for now) and pulls from the closest.  To publish
an image, push k8s-staging.gcr.io and it will be synced to the regionals
automatically (similar to today).  For now the staging is an alias to
gcr.io/google_containers (the legacy URL).

When we move off of google-owned projects (working on it), then we just
do a one-time sync, and change the google-internal config, and nobody
outside should notice.

We can, in parallel, change the auto-sync into a manual sync - send a PR
to "promote" something from staging, and a bot activates it.  Nice and
visible, easy to keep track of.
2018-02-07 21:14:19 -08:00
Cheng Xing
e21ecc0166 Updated Flexvolume setup mechanisms for COS instance image.
- If REMOUNT_VOLUME_PLUGIN_DIR is set to true, VOLUME_PLUGIN_DIR is remounted with `exec` option during cluster startup. This allows any writable location to be used as the plugin directory.
- New HostPath added to controller-manager deployment to enable access to volume plugin directory.
- Improved how the default directory is passed to master and node setup.
2018-01-08 15:38:51 -08:00
Tim Hockin
e9dd8a68f6 Revert k8s.gcr.io vanity domain
This reverts commit eba5b6092a.

Fixes https://github.com/kubernetes/kubernetes/issues/57526
2017-12-22 14:36:16 -08:00
Maciej Borsz
95dccb4b82 Add --retry-connrefused to all curl invocations.
By default 'Connection refused' error is not a transient error
and is not retried.
2017-12-19 14:10:37 +01:00
Maciej Borsz
249ddd762c
Revert "Add --retry-connrefused to all curl invocations." 2017-12-19 09:47:25 +01:00
Tim Hockin
eba5b6092a Use k8s.gcr.io vanity domain for container images 2017-12-18 09:18:34 -08:00
Maciej Borsz
d9bb71b1fe Add --retry-connrefused to all curl invocations.
By default 'Connection refused' error is not a transient error
and is not retried.
2017-12-18 13:34:33 +01:00
Mike Danese
ba2bf598fb gce: tighten up perms on kube-env 2017-12-11 11:46:29 -08:00
Kubernetes Submit Queue
f7dc3966a4
Merge pull request #47497 from mikedanese/binary
Automatic merge from submit-queue (batch tested with PRs 54773, 52523, 47497, 55356, 49429). 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>.

don't check in mounter binary

```release-note
GCI mounter is moved from the manifests tarball to the server tarball.
```
2017-11-08 22:11:53 -08:00
Lantao Liu
45b3301372 Fix GKE failure, set default in configure.sh.
Signed-off-by: Lantao Liu <lantaol@google.com>
2017-11-08 18:16:01 +00:00
Kubernetes Submit Queue
7a28aaffa7
Merge pull request #54964 from Random-Liu/add-containerd-e2e
Automatic merge from submit-queue (batch tested with PRs 54488, 54838, 54964). 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 for alternative container runtime in `kube-up.sh`

For https://github.com/kubernetes/features/issues/286.

This PR added 4 new environment variables in `kube-up.sh` to support alternative container runtime:
1) `KUBE_MASTER_EXTRA_METADATA` and `KUBE_NODE_EXTRA_METADATA`. Add extra metadata on master and node instance. With this we could specify different cloud-init for a different container runtime, and also add extra metadata for the new cloud-init, e.g. [master.yaml](7d73966214/test/e2e/master.yaml)
2) `KUBE_CONTAINER_RUNTIME_ENDPOINT`. Specify different sock for different container runtime. It's only used when it's not empty.
3) `KUBE_LOAD_IMAGE_COMMAND`. Specify different load image command for different container runtime.

An example for cri-containerd:
```
export KUBE_MASTER_EXTRA_METADATA="user-data=${GOPATH}/src/github.com/kubernetes-incubator/cri-containerd/test/e2e/master.yaml,cri-containerd-configure-sh=${GOPATH}/src/github.com/kubernetes-incubator/cri-containerd/test/configure.sh"
export KUBE_NODE_EXTRA_METADATA="user-data=${GOPATH}/src/github.com/kubernetes-incubator/cri-containerd/test/e2e/node.yaml,cri-containerd-configure-sh=${GOPATH}/src/github.com/kubernetes-incubator/cri-containerd/test/configure.sh"
export KUBE_CONTAINER_RUNTIME="remote"
export KUBE_CONTAINER_RUNTIME_ENDPOINT="/var/run/cri-containerd.sock"
export KUBE_LOAD_IMAGE_COMMAND="/home/cri-containerd/usr/local/bin/cri-containerd load"
export NETWORK_POLICY_PROVIDER="calico"
```

Signed-off-by: Lantao Liu <lantaol@google.com>

```release-note
none
```
/cc @yujuhong @dchen1107 @feiskyer @mikebrow @abhi @mrunalp @runcom 
/cc @kubernetes/sig-node-pr-reviews
2017-11-02 18:01:19 -07:00
Lantao Liu
75293ac7a2 Add containerd e2e.
Signed-off-by: Lantao Liu <lantaol@google.com>
2017-11-02 03:44:42 +00:00
Mike Danese
bef68f7dbc cluster: build gci mounter like other go binaries 2017-10-30 13:56:09 -07:00
shiliang
a8a51eaeff Move hardcoded constants to the beginning of the script. 2017-10-25 14:34:18 -07:00
Di Xu
dba448c2a6 Update all binary download references to v0.6.0 2017-10-14 22:24:49 +08:00
shiliang
f561a299ac refactor function is-preloaded in configure.sh 2017-07-31 15:57:02 -07:00
shiliang
994275aa55 skip downloading and extracting tarballs and docker images when they are preloaded. 2017-07-25 15:40:03 -07:00
Jing Xu
04e5243db4 Fix issue in installing containerized mounter
PR #49157 causes failure when installing containerized mounter. THis
PR is a fix for it
2017-07-20 16:30:55 -07:00
Kubernetes Submit Queue
c3f4e7e59a Merge pull request #49165 from mikedanese/cleanup2
Automatic merge from submit-queue (batch tested with PRs 49120, 46755, 49157, 49165, 48950)

gce: don't print every file in mounter to stdout

This is printing ~3000 lines.
2017-07-19 00:06:27 -07:00
Mike Danese
7a6917f552 gce: don't print every file in mounter to stdout 2017-07-18 17:04:03 -07:00
Mike Danese
0d662e8845 gce: make some global variables local 2017-07-18 15:55:37 -07:00
Ajit Kumar
caff16c678 Bump up npd version to v0.4.1 2017-06-22 13:13:50 -07:00
Random-Liu
1d3979190c Bump up npd version to v0.4.0 2017-06-06 16:30:02 -07:00
Ajit Kumar
d8237597c9 Configure NPD version through env variable 2017-05-31 16:40:09 -07:00
caleb miles
f4d9bbc7d8
Bump CNI consumers to latest version
- vendored CNI plugins properly handle `DEL` on missing resources
- [based on v0.5.1](https://github.com/kubernetes/kubernetes/issues/43488#issuecomment-288525151)
2017-03-22 16:03:13 -07:00
Random-Liu
c4b3fd4e63 Update npd to the official v0.3.0 release. 2017-03-15 14:26:12 -07:00
Shyam Jeedigunta
63e1c78bc7 Add -p to mkdirs in gci-mounter function of gce configure.sh script 2017-03-15 14:04:06 +01:00
Jing Xu
ac22416835 Use chroot for containerized mounts
This PR is to modify the containerized mounter script to use chroot
instead of rkt fly. This will avoid the problem of possible large number
of mounts caused by rkt containers if they are not cleaned up.
2017-02-24 13:46:26 -08:00
Random-Liu
d40c0a7099 Add standalone npd on GCI. 2017-02-17 16:18:08 -08:00
CJ Cullen
d0997a3d1f Generate a kubelet CA and kube-apiserver cert-pair for kubelet auth.
Plumb through to kubelet/kube-apiserver on gci & cvm.
2017-01-03 14:30:45 -08:00
Euan Kemp
e2644bb442 cluster/gce: copy gci -> coreos
This is for reviewing ease as the following commits introduce changes
to make the coreos kube-up deployment share significant code with the
gci code.
2016-12-17 21:36:30 -08:00
Daniel Smith
5b1d875f27 Revert "Modify GCI mounter to enable NFSv3" 2016-12-01 11:47:24 -08:00
Jing Xu
80f2e58ccc Modify GCI mounter to enable NFSv3
This PR is a retry for PR #36610
2016-11-29 10:50:33 -08:00
Piotr Szczesniak
a3e6ad4b9a Revert "Modify GCI mounter to enable NFSv3" 2016-11-23 13:15:37 +01:00
Jing Xu
2a8d89e5d1 Modify GCI mounter to enable NFSv3
In order to make NFSv3 work, mounter needs to start rpcbind daemon. This
change modify mounter's Dockerfile and mounter script to start the
rpcbind daemon if it is not running on the host.

After this change, need to make push the image and update the sha number in Changelog.
2016-11-21 16:42:40 -08:00
Jing Xu
d07396f7c7 Update configure.sh
Update the gci-mounter sha1 number
2016-11-08 12:13:49 -08:00
Vishnu kannan
77218d361b Use a local file for rkt stage1 and gci-mounter docker image.
Added a make rule `make upload` to audit and automate release artifact
uploads to GCS.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-11-08 11:09:13 -08:00
Vishnu kannan
c556b33bd6 update rkt to v1.18.0 which avoids outputting debug information by default
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-10-27 12:24:29 -07:00
Vishnu kannan
bbc8183887 Adding rkt binary to GCI nodes via cloud-init.
This is required for mounting storage volumes via containers.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-10-25 12:38:15 -07:00
Michael Taufen
f819cada9c Add a bare-bones level of indirection for GCI mounter
This is the bare bones scaffolding from @vishh's PR #34787
2016-10-24 05:50:24 -07:00
Minhan Xia
1e88c99e3e bump cni 2016-09-06 10:48:36 -07:00
Minhan Xia
69e540e634 bump cni to 9d5e6e6 2016-08-26 13:13:24 -07:00
Amey Deshpande
2939ebdba5 gci: decouple from the built-in kubelet version
Prior to this change, configure.sh would:
(1) compare versions of built-in kubelet and downloaded kubelet, and
(2) bind-mount downloaded kubelet at /usr/bin/kubelet in case of
version mismatch

With this change, configure.sh:
(1) compares the two versions only on test clusters, and
(2) uses the actual file paths to start kubelet w/o any bind-mounting

To allow (2), this change also provides its own version of kubelet
systemd service file.

Effectively with this change we will always use the downloaded kubelet
binary along with its own systemd service file on non-test clusters.  The
main advantage is this change does not rely on the kubelet being built in to
the OS image.
2016-08-24 23:36:08 -07:00
Wojciech Tyczynski
4d27f99997 Avoid unnecessary copies on GCI initialization. 2016-08-12 14:57:54 +02:00
Justin Santa Barbara
eb3483eaba kube-up: increase download timeout for kubernetes.tar.gz
Particularly on smaller instances on AWS, we were hitting the 80 second
timeout now that our image is well over the 1GB mark.

Increase the timeout from 80 seconds to 300 seconds.

Fix #29418
2016-07-22 00:39:35 -04:00
Minhan Xia
0bd411878a bump cni version 2016-07-11 14:33:01 -07:00
David McMahon
ef0c9f0c5b Remove "All rights reserved" from all the headers. 2016-06-29 17:47:36 -07:00
Zach Loafman
e7a9881d84 Copy and display source location prominently on Kubernetes instances
Following from #27830, this copies the source onto the instance and
displays the location of it prominently (keeping the download link for
anyone that just wants to curl it).

Example output (this tag doesn't exist yet):

---
Welcome to Kubernetes v1.4.0!

You can find documentation for Kubernetes at:
  http://docs.kubernetes.io/

The source for this release can be found at:
  /usr/local/share/doc/kubernetes/kubernetes-src.tar.gz
Or you can download it at:
  https://storage.googleapis.com/kubernetes-release/release/v1.4.0/kubernetes-src.tar.gz

It is based on the Kubernetes source at:
  https://github.com/kubernetes/kubernetes/tree/v1.4.0

For Kubernetes copyright and licensing information, see:
  /usr/local/share/doc/kubernetes/LICENSES
---
2016-06-23 15:27:38 -07:00
Marek Grabowski
56d4586f89 Revert "Copy and display source location prominently on Kubernetes instances" 2016-06-23 10:24:29 +02:00
Zach Loafman
f9d1737299 Copy and display source location prominently on Kubernetes instances
Following from #27830, this copies the source onto the instance and
displays the location of it prominently (keeping the download link for
anyone that just wants to curl it).

Example output (this tag doesn't exist yet):

---
Welcome to Kubernetes v1.4.0!

You can find documentation for Kubernetes at:
  http://docs.kubernetes.io/

The source for this release can be found at:
  /usr/local/share/doc/kubernetes/kubernetes-src.tar.gz
Or you can download it at:
  https://storage.googleapis.com/kubernetes-release/release/v1.4.0/kubernetes-src.tar.gz

It is based on the Kubernetes source at:
  https://github.com/kubernetes/kubernetes/tree/v1.4.0

For Kubernetes copyright and licensing information, see:
  /usr/local/share/doc/kubernetes/LICENSES
---
2016-06-21 23:03:30 -07:00
Andy Zheng
d05b14f718 GCI: fix kubectl permission issue #27643 2016-06-20 17:35:20 -07:00
Andy Zheng
e6b744c85a Revert "Revert "GCI: add support for network plugin""
This reverts commit 8207eddd99.
2016-06-14 09:52:34 -07:00
Dawn Chen
8207eddd99 Revert "GCI: add support for network plugin" 2016-06-09 13:24:05 -07:00
Andy Zheng
66d6b43b67 GCI: add support for kubenet 2016-06-08 13:20:44 -07:00
Andy Zheng
42b299abba GCI: correct the fix in #26363 2016-06-02 10:45:03 -07:00
Daniel Wang
5cd3c01bc5 GCI: Fix yaml search path 2016-05-26 10:10:37 -07:00
Andy Zheng
914c1d61e9 GCI: Fix a cluster initialization failure caused by gce.conf 2016-05-23 00:52:08 -07:00
Andy Zheng
f31c4f6d69 Revert "Revert "Add support for running GCI on the GCE cloud provider""
This reverts commit 40f53b1765.
2016-05-23 00:52:08 -07:00
Daniel Smith
40f53b1765 Revert "Add support for running GCI on the GCE cloud provider" 2016-05-18 21:31:28 -07:00
Andy Zheng
a737e1eba1 Add support for running GCI on the GCE cloud provider 2016-05-18 15:15:05 -07:00