Commit Graph

138 Commits (07d98bebe848231a8783bef5b50f079b04de66bf)

Author SHA1 Message Date
k8s-merge-robot ced2b65046 Merge pull request #25609 from andyzheng0831/log
Automatic merge from submit-queue

GCI: Enable the log of upstart jobs

This PR enables the log of upstart jobs in master.yaml and node.yaml. By default, log of upstart jobs are enabled in Trusty and placed in /var/log/upstart, but not enabled in GCI. This change explicitly directs the log to the system logger. For trusty, they are in /var/log/syslog file. In GCI, we can check it using "journalctl". This change will be useful for debugging if cluster initialization fails.

@roberthbailey @maisem @dchen1107 please review it. This will be useful for issues like #23634. We should also cherry pick it in release-1.2

cc/ @fabioy @zmerlynn @wonderfly FYI.
2016-05-17 00:42:03 -07:00
Andy Zheng f8739cd0c2 GCI:Trusty: Fix an issue in using 'find' commands 2016-05-16 17:48:29 -07:00
gmarek 64618c3311 Make bigger master root disks in GCE for large clusters 2016-05-16 15:57:56 +02:00
Andy Zheng 45baf1e7cf GCI: Enable logs for upstart jobs 2016-05-13 22:29:24 -07:00
Andy Zheng 9811009d9f Configuration for GCP webhook authentication and authorization 2016-05-13 10:18:07 -07:00
Jeff Lowdermilk c0e12f2f96 Merge pull request #25299 from andyzheng0831/yaml
GCI/Trusty: Support the new var in glbc.yaml
2016-05-13 10:12:23 -07:00
Andy Zheng 63494f6f06 GCI: Ensure that the right version of kubelet is used 2016-05-11 14:40:50 -07:00
Andy Zheng 74fd5d35f0 GCI/Trusty: Support the new var in glbc.yaml 2016-05-09 17:40:59 -07:00
Andy Zheng d8314b1b9b GCI/Trusty: Fix the running of kube-addon-manager 2016-05-09 16:00:33 -07:00
k8s-merge-robot f46f35a9df Merge pull request #23600 from mikedanese/addon-manager
Automatic merge from submit-queue

run kube-addon-manager in a static pod

Depends on https://github.com/kubernetes/kubernetes/pull/23605 and https://github.com/kubernetes/kubernetes/pull/24108

Ref #23233
2016-05-08 11:30:44 -07:00
Robert Bailey 5f4f59e671 Merge pull request #24950 from andyzheng0831/apiserver
GCI/Trusty: Support ABAC authorization
2016-05-06 13:59:39 -07:00
Mike Danese 3e1c0b5951 run kube-addon-manager in a pod 2016-05-06 11:01:06 -07:00
Andy Zheng 73ee508005 GCI: Add two GCI specific metadata pairs 2016-05-03 14:45:27 -07:00
Andy Zheng 27c9ee3646 GCI/Trusty: Support ABAC authorization 2016-04-28 14:04:28 -07:00
k8s-merge-robot 19408e5575 Merge pull request #24893 from andyzheng0831/gci
Automatic merge from submit-queue

Add support for running clusters on GCI

Google Container-VM Image (GCI) is the next revision of Container-VM. See documentation at https://cloud.google.com/compute/docs/containers/vm-image/. This change adds support for starting a Kubernetes cluster using GCI.

With this change, users can start a kubernetes cluster using the latest kubelet and kubectl release binary built in the GCI image by running:

	$ KUBE_OS_DISTRIBUTION="gci" cluster/kube-up.sh

Or run a testing cluster on GCI by running:

	$ KUBE_OS_DISTRIBUTION="gci" go run hack/e2e.go -v --up

The commands above will choose the latest GCI image by default.
2016-04-27 23:46:26 -07:00
k8s-merge-robot 9fd05474c2 Merge pull request #24108 from mikedanese/kube-addon-cleanup
Automatic merge from submit-queue

don't source the kube-env in addon-manager

This was added in 2feb658ed7 which became unused after #23603 but wasn't removed
2016-04-27 16:07:54 -07:00
Andy Zheng 93929c3853 Add support for running clusters on GCI 2016-04-27 15:24:21 -07:00
k8s-merge-robot 4d5f6872bb Merge pull request #24609 from andyzheng0831/debug
Automatic merge from submit-queue

Trusty: Add debug supports for docker and kubelet

This PR adds debug support in two aspects: (1) For a test cluster, docker command will have "--debug" flag. Recently we noticed that this is very helpful in debug e2e test failures; (2) The kubelet command line will be put in /etc/default/kubelet. If a developer wants to test kubelet flags without recreating a cluster, she/he only needs to revise this file and then run "initctl restart kubelet". In addition, this PR fixes a couple of small things like comments and alignment.

Test result:
(1) Manually verified changing /etc/default/kubelet and run "initctl restart kubelet";
(2) Verified docker command line flag "--debug";
(3) e2e on pure trusty cluster and hybrid cluster all passed.

@roberthbailey @dchen1107 @zmerlynn please review it.

cc/ @yujuhong @fabioy @wonderfly FYI.
2016-04-27 10:26:01 -07:00
Andy Zheng 72f3cb664f Trusty: Add retry in curl commands 2016-04-25 12:59:30 -07:00
Andy Zheng b8fd9e1a8d Trusty: Add debug supports for docker and kubelet 2016-04-21 09:49:52 -07:00
Mike Danese e095f8c377 don't source the kube-env in addon-manager 2016-04-20 09:44:44 -07:00
Andy Zheng 7772b7f1ce Trusty: Handle the new var in kube-proxy manifest 2016-04-20 08:27:41 -07:00
k8s-merge-robot a12cec52e5 Merge pull request #24172 from andyzheng0831/fix
Automatic merge from submit-queue

Trusty: Fixes for running GKE master

This PR includes two fixes for running GKE master on our image: 
(1) The kubelet command line assembly had a missing part for cbr0. We did not catch it because the code path is not covered by OSS k8s tests;

(2) Remove the "" from the variables in the cert files. It causes a parsing issue in GKE. Again, this code path is not covered by k8s tests.

This PR also refactors the code for assembling kubelet flag. I move all logic into a single function assemble_kubelet_flags in configure-helper.sh for better readability and also simplify node.yaml and master.yaml. 

@roberthbailey @dchen1107 please review it, and mark it as cherrypick-candidate. This PR is verified by @maisem. Together with his CL for GKE, we can run GKE cluster with master on our image and nodes on ContainerVM.

cc/ @maisem @fabioy @wonderfly FYI
2016-04-13 20:04:15 -07:00
Andy Zheng b5a1595c98 Trusty: Fix master kubelet command assembly 2016-04-12 15:53:16 -07:00
Andy Zheng 988f16a1e2 Trusty: Avoid unnecessary in-memory temp files 2016-04-11 15:55:01 -07:00
Jeff Lowdermilk 7720a16bcf Merge pull request #23893 from mbhinder/kubernetes
Fixed typo: kuberntes -> kubernetes
2016-04-08 12:47:36 -07:00
Andy Zheng b1e18f3ca0 Trusty: Do not create the docker-daemon cgroup 2016-04-07 13:43:26 -07:00
Preet Bhinder d178d78013 Fixed typo: kuberntes -> kubernetes
"Kubernetes" was misspelled in a couple of places.
2016-04-05 16:20:08 -07:00
k8s-merge-robot b448825211 Merge pull request #23603 from mikedanese/dont-create-secret-for-dns
Automatic merge from submit-queue

stop creating secrets for dns, it uses the kube-system service account now
2016-04-02 17:20:52 -07:00
k8s-merge-robot c6e995a824 Merge pull request #23558 from andyzheng0831/enhance
Automatic merge from submit-queue

Trusty: Regional release .tar.gz support

@zmerlynn and @roberthbailey please review it. This change is to support the feature added in PR #22234. The entire logic is pretty much the same as in #22234, with only few minor changes in implementation.

I had manually run e2e tests with "export RELEASE_REGION_FALLBACK=true" on two clusters: (1) Trusty on master nodes on ContainerVM; (2) Master and nodes all on trusty. All tests are green. I don't figure out a way to simulate regional fallback. But I did test the function download_or_bust() out-of-box.

cc/ @wonderfly @dchen1107 @fabioy FYI.
2016-04-01 03:39:08 -07:00
CJ Cullen 26a6c66de5 Change kube-proxy & fluentd CPU request to 20m/80m. 2016-03-30 18:14:24 -07:00
Mike Danese 0a821a473d stop create secrets for dns, it uses the kube-system service account now 2016-03-29 14:27:28 -07:00
Andy Zheng a83f11c484 Trusty: Regional release .tar.gz support 2016-03-28 15:21:14 -07:00
k8s-merge-robot 299de8e53c Merge pull request #23434 from andyzheng0831/kube-addon
Auto commit by PR queue bot
2016-03-27 21:48:47 -07:00
Andy Zheng 364ac85179 Support differentiation of OS distro in e2e tests 2016-03-25 14:53:36 -07:00
Andy Zheng bfd68b35d8 Trusty: Update heapster manifest handling code 2016-03-24 09:22:30 -07:00
Andy Zheng 0a8e68fb49 Trusty: Avoid reaching GCE custom metadata size limit 2016-03-20 10:22:50 -07:00
Andy Zheng e276c8e468 Trusty: support developer workflow on base image 2016-03-15 22:07:08 -07:00
Andy Zheng 6597daddd6 Trusty: Fix heapster breakage caused by #22940 2016-03-15 13:26:04 -07:00
Andy Zheng ab20a9adbe Trusty: Fix node kubelet pod-cidr flag 2016-03-14 21:09:21 -07:00
Andy Zheng 10d9f72341 Trusty: fix several bugs 2016-03-11 21:29:50 -08:00
Andy Zheng 0df50b702a Support regional registries in clusters on Trusty 2016-03-06 13:53:24 -08:00
Andy Zheng 242b9977c7 Remove manifest copies from Trusty support
This change revises the way to provide kube-system manifests for clusters on Trusty. Originally, we maintained copies of some manifests under cluster/gce/trusty/kube-manifests, which is not scalable and hard to maintain. With this change, clusters on Trusty will use the same source of manifests as ContainerVM. This change also fixes some minor problems such as shell variables and comments to meet the style guidance better.
2016-03-04 11:16:49 -08:00
Abhi Shah f9c4b3db1e Merge pull request #22493 from andyzheng0831/enhance
Fix a breakage of kubelet in Trusty
2016-03-04 10:50:03 -08:00
Andy Zheng e077ebf874 Fix a breakage of kubelet in Trusty
The kubelet flag "nosystem" was removed recently, which breaks kubelet in Trusty. This changes remove the flag usage accordingly. It also revises several aspects of Trusty support to make it in the same page as running on ContainerVM, such as new flags in kubelet and new logic in api-server and etcd pods.
2016-03-03 17:19:00 -08:00
Robert Bailey 30b78e4d7f Add the GCE cluster name to instance metadata. 2016-03-03 13:57:31 -08:00
Andy Zheng 0ee1bd6160 Fix a breakage of kube-proxy in Trusty
PR #22022 added a new variable "cpurequest" in kube-proxy.manifest. This makes kubelet in Trusty fail to start the kube-proxy pod as this variable value is not set.
2016-03-01 14:57:37 -08:00
k8s-merge-robot 85018f728e Merge pull request #21258 from gmarek/heapster
Auto commit by PR queue bot
2016-02-22 01:24:58 -08:00
laushinka 7ef585be22 Spelling fixes inspired by github.com/client9/misspell 2016-02-18 06:58:05 +07:00
Phillip Wittrock a8744279eb Merge pull request #21347 from yujuhong/health_check
Switch to using `docker version` as health check
2016-02-17 14:48:44 -08:00
Yu-Ju Hong b92e2903fa Switched to using `docker version` as health check
`docker ps` can sometimes take a long time to finish, and restarting
docker in this case doesn't help.
2016-02-16 15:10:15 -08:00
gmarek 9c722ba98e Update memory requirements for new Heapster 2016-02-15 14:05:47 +01:00
Dawn Chen 64ca54c2cc Make master component's manifest consistent with the ones on debian 2016-02-12 14:56:12 -08:00
k8s-merge-robot f6ae6b47ae Merge pull request #20687 from vishh/systemd-support
Auto commit by PR queue bot
2016-02-11 13:06:29 -08:00
k8s-merge-robot 798b88e512 Merge pull request #20960 from andyzheng0831/fix
Auto commit by PR queue bot
2016-02-11 06:51:13 -08:00
Vishnu kannan c3b5d5774c Update flag values for cgroups managed by kubelet.
Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-10 17:33:29 -08:00
Vishnu kannan 51e4ccf106 Updating the default values for the cgroups hierarchies that kubelet
creates for managing the nodes.

Signed-off-by: Vishnu kannan <vishnuk@google.com>
2016-02-10 16:02:36 -08:00
Andy Zheng 126f3c4784 Fix kubelet and kube-proxy log level in Trusty
This change corrects how we determine the log level. Moreover, it explicitly redirects kubelet log to /var/log/kubelet.log, as we noticed it may miss sometimes.
2016-02-09 19:20:20 -08:00
Andy Zheng 20444558a3 Fix two issues of master on Trusty
This change moves the code of running and monitoring addon pods in a daemon type upstart job, so that addon manifest monitoring can be restarted automatically upon failure. Second, it updates the usage of "kube-ui" to "dashboard" to match the change in PR #20330.
2016-02-08 16:46:18 -08:00
Andy Zheng b103f0f279 Support master on Ubuntu Trusty
This change support running kubernetes master on Ubuntu Trusty.
It uses pure cloud-config and shell scripts, and completely gets
rid of saltstack or the release salt tarball.
2016-02-03 11:22:28 -08:00
Jeff Lowdermilk ec4b94aabc Merge pull request #20509 from yujuhong/docker_health
Change docker health checker to using `docker ps`
2016-02-02 11:50:04 -08:00
Yu-Ju Hong 156d301140 Change docker health checker to using `docker ps`
`docker ps` is a more reliable health check than docker version from past
experiences.
2016-02-02 11:08:21 -08:00
Josh Ellithorpe 76e8a8b08d Fix issues with Python3 and bring up a dev cluster 2016-01-12 11:08:42 -08:00
Andy Zheng d27e3ae8a1 Run kube-proxy in Trusty in a static pod.
We copy the manifest from salt configurations, and then remove the salt
content in the file and replace the variables with values.
2016-01-05 16:11:58 -08:00
k8s-merge-robot 582c84b562 Merge pull request #18485 from andyzheng0831/trusty-release
Auto commit by PR queue bot
2015-12-15 21:18:58 -08:00
Andy Zheng 75e23a3845 Add release support for trusty kube-system manifests.
This is a follow-up work for PR 18115. It adds release support for
kube-system manifests.
2015-12-10 10:47:01 -08:00
Andy Zheng 317f778a05 Update the commandline of kubelet in Trusty nodes.
This change is to pick up the fix in PR #18178. It avoids confusing
cadvisor when systemd is present in an instance but does not act
as the init system.
2015-12-09 14:57:32 -08:00
k8s-merge-robot d0965bc440 Merge pull request #18115 from andyzheng0831/trusty
Auto commit by PR queue bot
2015-12-09 13:26:33 -08:00
gmarek 4060eba626 Use KubeletPort from API object, salt changes, take 2
This reverts commit a7425bf070, reversing
changes made to 4a9b0fc715.
2015-12-07 10:31:11 +01:00
Andy Zheng 816b29536a Prepare kube-system pods manifest for trusty nodes.
This change refactors the code of preparing kube-system manifests
for trusty based cluster. The manifests used by nodes do not contain
salt configuration, so we can simply copy them from the directory
cluster/saltbase/salt, make a tarball, and upload to Google Storage.
2015-12-04 15:43:29 -08:00
Marek Grabowski 7f72d18550 Revert "Salt changes to enable using non-default Kubelet port" 2015-11-25 09:15:36 +01:00
gmarek 3ffa01d7cd Salt changes to enable using non-default Kubelet port 2015-11-23 16:02:46 +01:00
Yifan Gu 9bf6bc1817 cluster/gce: Move build-kube-env to util.sh
This allows all 3 distros(coreos, debian, trusty) to share the same
build-kube-env.
2015-11-17 17:23:04 -08:00
Andy Zheng 5ca070478e Refactor cluster/gce/trusty/node.yaml
The node.yaml has some logic that will be also used by the kubernetes
master on trusty work (issue #16702). This change moves the code
shared by the master and node configuration to a separate script, and
the master and node configuration can source it to use the code.
Moreover, this change stages the script for GKE use.
2015-11-13 16:46:55 -08:00
Andy Zheng b3133a1c16 Update docker version in trusty node to 1.8.3
This change is for using the latest qualified docker in trusty nodes.
2015-11-02 15:58:27 -08:00
Saad Ali 76c5e0e553 Revert "Use KubeletPort reported in NodeStatus instead of cluster-wide master config" 2015-10-22 21:25:38 -07:00
gmarek 60404a55fc Make Node.yaml use KUBELET_PORT instead of hardcoded 10250 2015-10-21 17:19:31 +02:00
Andy Zheng 59e5e07763 Fix a bug in trusty node.yaml config
The --log-level="\debug\" flag in DOCKER_OPTS may not be correctly
interpreted in some cases. We turn on this flag only for testing
clusters. In addition to fixing the docker flag, this change
also removes the confusing numbers from the lines of separating
upstart jobs.
2015-10-15 13:43:25 -07:00
Andy Zheng 3a5f3f0615 Enable privileged containers in Trusty nodes
This change also removes an outdated TODO comment.
2015-10-07 15:10:14 -07:00
Mike Danese 05355145b9 trim mig template name if it's over the gce validated length limit 2015-09-29 11:52:35 -07:00
Robert Bailey da94ed7957 Healthcheck the kubelet on the secure port rather than the read-only port. 2015-09-16 12:15:29 -07:00
Andy Zheng 7427387938 Add trusty node health monitoring
Upstart monitors the process of docker, kubelet, and kube-proxy.
This change adds an upstart job running as daemon to conduct
non-PID health monitoring.
2015-09-15 15:09:45 -07:00
Andy Zheng 9f28e784dc Support kube-registry-proxy addon in trusty nodes 2015-08-27 07:46:50 -07:00
Andy Zheng f302130ad9 Add continuous tests support for trusty nodes
Also fix the starting condition of kube-install-additional-packages
upstart job.
2015-08-21 14:39:55 -07:00
Andy Zheng ee913b1273 Use yaml format for trusty node kube-env
It uses the same function as Debian to create the yaml format
node kube-env file.
2015-08-19 10:05:44 -07:00
Andy Zheng 11c823abd8 Fix some settings of trusty nodes
It fixes kubelet and kube-proxy command line options, fixes a typo,
and adds installation of nsenter package if it is not present.
2015-08-17 14:27:30 -07:00
Eric Paris 13822bceae Fix build breakage due to ubuntu invalid flag usage
In PR #12543 / commit fef1ede240
Flags were used with `_` instead of `-`. This broke the build.
2015-08-16 20:30:59 -05:00
Andy Zheng fef1ede240 Add config to run minions on GCE using Ubuntu.
It is for running nodes on Ubuntu image upto 14.04 LTS (Trusty).
The change for running master on Ubuntu will be added later.
The configuration consists of several upstart jobs, which is
passed to node instances through GCE metadata and parsed by cloud-init.
2015-08-13 16:40:09 -07:00