Commit Graph

534 Commits

Author SHA1 Message Date
Wei Huang
33ea82227e
Use sched ComponentConfig over individual command line args 2020-03-26 17:11:17 -07:00
Kubernetes Prow Robot
ba10669143
Merge pull request #87595 from hase1128/add-comment-hack-script
Add comments in several hack/*.sh
2020-02-11 23:14:20 -08:00
RainbowMango
99c15d2828 Support config kubelet provider id for local cluster. 2020-02-07 14:12:48 +08:00
Jordan Liggitt
498ae799b5 Use standard default storage media type in local-up-cluster 2020-01-30 17:25:23 -05:00
Jin Hase
e992ec0d59 Add comments in several hack/*.sh 2020-01-28 09:27:40 +09:00
Jordan Liggitt
2a2ce207f2 Enable bound tokens in local-up-cluster 2020-01-20 09:19:37 -05:00
chendotjs
2afe0da8ee Unify --cluster-cidr in KCM and CCM 2020-01-19 13:51:02 +08:00
RainbowMango
0f9c262eda Cleanup cloud controller manager when closing cluster. 2020-01-08 19:18:53 +08:00
RainbowMango
24ccd77a98 Remove variable EXTERNAL_CLOUD_VOLUME_PLUGIN default value in local-up-cluster.sh 2020-01-07 10:17:10 +08:00
RainbowMango
eb074761bc Fix local-up-cluster.sh do not work with non-intree external cloud provider issue. 2020-01-06 22:54:38 +08:00
RainbowMango
36cbce1182 Postpone flag warning log to just before it be used. 2019-12-31 20:05:53 +08:00
mlmhl
57aa092ffe do not wait for node ready when starting kube-proxy in 'nokubelet' mode 2019-12-24 14:25:28 +08:00
kireledan
a8a00f690e hack/local-up-cluster: modify cloud provider launch to work with aws
This commit updates the local-up-cluster script to set the proper provider id when the aws cloud provider is used.
2019-12-19 22:54:10 -08:00
notpad
c13f2d4748 Change node name to env value of HOSTNAME_OVERRIDE 2019-10-16 22:39:52 +08:00
ialidzhikov
b3dcbbf98c Rename dashboard-controller.yaml to dashboard-deployment.yaml
Signed-off-by: ialidzhikov <i.alidjikov@gmail.com>
2019-10-15 13:55:06 +03:00
Kubernetes Prow Robot
457fa6b40d
Merge pull request #82413 from zhlhahaha/kube-proxy-error
local-up-cluster kube-proxy terminated error
2019-10-12 07:48:37 -07:00
Amir Ghassemi
2550b31beb hack/local-up-cluster.sh: ability to configure auth webhooks
AUTHORIZATION_WEBHOOK_CONFIG_FILE and AUTHENTICATION_WEBHOOK_CONFIG_FILE
if set, will pass webhook configuration paths to API server
2019-09-23 10:43:47 +03:30
liuweixuan
ce25cd7fca Replace hyperkube with apiserver for binary path guess 2019-09-20 23:28:58 +08:00
howard
6ca5e0ed4d local-up-cluster kube-proxy terminated error
When using hack/local-up-cluster.sh deploy local cluster, it
failed with following message "kube-proxy terminated unexpectedly"
and "Failed to retrieve node info: nodes "127.0.0.1" not found" in
kube-proxy.log.

The root reason for this error is miss boot order of kubernetes
services in local-up-cluster.sh, kube-proxy and kubectl daemon.

When starting kube-proxy, it would check node information. And
these information are collected by kubelet daemon. However, in
the shell script, kube-proxy service start before kubelet daemon.

This patch changed the boot order of kubelet daemon and kube-proxy
and check if node stats ready for kube-proxy start.

Signed-off-by: Howard Zhang <howard.zhang@arm.com>
2019-09-16 10:36:42 +08:00
Davanum Srinivas
549492fbef
Drop hyperkube use from local-up-cluster.sh
We should just use the regular binaries used everywhere else and drop
hyperkube. Only the local-up-cluster related CI jobs use hyperkube at
the moment, so this will help deprecate and eliminate hyperkube at least
from the main kubernetes repository.

Change-Id: Ic53a4b56420565f546ac75be6cc23d214766c057
2019-08-11 10:54:05 -04:00
Matthew Wong
e18f7a9ec6 Fix no audit policy by default in hack/local-up-cluster.sh 2019-07-15 23:52:32 +00:00
Wei Huang
6f10758446
followup of 79262 to cleanup PodPriority leftover 2019-06-28 14:19:26 -07:00
Kubernetes Prow Robot
2bb849fdc0
Merge pull request #79199 from k-toyoda-pi/local-up-cluster_change_sed_to_SED
use ${SED} variable in local-up-cluster.sh
2019-06-21 05:10:36 -07:00
toyoda
d7215f0bce change sed to ${SED} in local-up-cluster.sh 2019-06-20 11:38:58 +09:00
Kenichi Omichi
5628b6b50e Replace mapfile with kube::util::read-array
During the review of https://github.com/kubernetes/kubernetes/pull/78779
we've known mapfile doesn't work on macOS.
So we need to use alternative way instead and this is it.
2019-06-20 00:25:06 +00:00
Kubernetes Prow Robot
4f33b5f421
Merge pull request #77820 from dims/charrywanganthony-pr-71835-delete-kubelet-security-controls
Remove deprecated Kubelet security controls
2019-05-22 13:52:25 -07:00
s-ito-ts
992773a4d9 Add transforming of "pillar['dns_memory_limit']" to local-up-cluster.sh. 2019-05-21 10:31:38 +00:00
chaowang
9ba0d47465
Remove deprecated Kubelet security controls
Change-Id: I9f770e6780b60e881092690f6f177d726f474fe3
2019-05-16 13:33:52 -04:00
Kubernetes Prow Robot
0ff81d04dc
Merge pull request #76953 from Rand01ph/fix#69896
fix Remove hyperkube short aliases
2019-05-08 04:54:34 -07:00
Rand01ph
f6bf44a205 Remove hyperkube short aliases used in local-up-cluster.sh 2019-05-07 01:02:01 +08:00
Haoran Wang
37cb774918 Enhance the local-cluster-up.sh script to work with docker 19.03.0-beta3 2019-05-06 15:03:06 +08:00
h00130372
de95a3344b Fix older bash failing on unbound array variables
Older bash versions fail when trying to expand array variables
when the array is empty.
2019-04-15 09:47:26 +08:00
Chao Xu
ce0cd866c0 followup https://github.com/kubernetes/kubernetes/pull/76050#discussion_r271540758 2019-04-04 14:38:26 -07:00
Kubernetes Prow Robot
42877480ad
Merge pull request #75747 from msau42/remove-alpha-crd
Remove alpha csi CRD
2019-04-02 22:47:41 -07:00
Kubernetes Prow Robot
28ac3063da
Merge pull request #76050 from caesarxuchao/fix-local-up-cluster
Fix kubelet start in local-up-cluster.sh
2019-04-02 20:11:42 -07:00
Chao Xu
1b953aaa59 Fix kubelet start in local-up-cluster.sh 2019-04-02 12:59:32 -07:00
Michelle Au
d2aa8178f2 Remove alpha CRD install 2019-04-02 10:59:11 -07:00
Urvashi Mohnani
8b96021c67 Add RUNTIME_REQUEST_TIMEOUT to local-up-cluster.sh
The changes to local-cluster-up.sh from #75662 is causing the
CRI-O CI to break since it picks up the --runtime-request-timeout
flag as part of the container-runtime-endpoint flag.
Adding a new env so that we can set the runtime-request-timeout
value for our CI.

Signed-off-by: Urvashi Mohnani <umohnani@redhat.com>
2019-04-02 11:25:55 -04:00
Mrunal Patel
8c9b169f17 Fix older bash failing on unbound array variables
Older bash versions fail when trying to expand array variables
when the array is empty.

Signed-off-by: Mrunal Patel <mpatel@redhat.com>
2019-04-01 21:04:48 -07:00
s-ito-ts
8cc3718e69 fix eliminate shellcheck failures in hack/local-up-cluster.sh 2019-03-25 07:17:06 +00:00
Moshe Levi
dcebfd82ac Add nokubeproxy option in START_MODE
Some CNIs such as OVN don't use kubeproxy and provide
there own implementation for network proxy .
This patch allow to disable the kubeproxy start in the
local-up-cluster.sh script.

It is also move the generation of the certificate and
kubeconfig to  start_kubeproxy function so it will be
generated only when it needed.

This is useful for us for developement and CI testing.
Signed-off-by: Moshe Levi <moshele@mellanox.com>
2019-03-14 02:29:31 +02:00
Kubernetes Prow Robot
343bb4bd6b
Merge pull request #74561 from moshe010/start_kube_scheduler
Move start kubescheduler to it own function
2019-02-28 05:07:37 -08:00
Moshe Levi
b9fb656546 Move start kubescheduler to it own function
Currently the kubescheduler starts in the start_kubeproxy
This change move it to ir own function start_kubescheduler

Change-Id: Iff93114d4becabe4b6b937c5077821e092abffd3
Signed-off-by: Moshe Levi <moshele@mellanox.com>
2019-02-26 04:30:11 +02:00
Davanum Srinivas
5d13f6f776
Remove support for containerized-kubelet in local-up-cluster.sh
Change-Id: I3435b02fbe052a88f6b88d5517de2d68ff636a66
2019-02-25 08:53:14 -05:00
Kubernetes Prow Robot
139a13d312
Merge pull request #74269 from moshe010/kubelet_gen_cert
Move kubelet cert generation when starting kubelet
2019-02-23 18:41:10 -08:00
Moshe Levi
33a81a7882 Move kubelet cert generation when starting kubelet
Running local-up-cluster with START_MODE='kubeletonly'
requires cert and kubeconfig. Currently, all the
certs and the kubeconfig are created in the start_apiserver
so it won't be created when only kubelet is started.

This change moves the creation of the kubelet cert and
kubeconfig to start_kubelet. This is helpful if you
want to run kubelet with local-up-cluster and to connect
to an existing master node.

Change-Id: Iaba0bf975297346fbede44342f163024caa256cf
Signed-off-by: Moshe Levi <moshele@mellanox.com>
2019-02-19 23:04:18 +02:00
Davanum Srinivas
6b6bfb37fb
Add minimal audit policy to local-up-cluster
Change-Id: Ia2cdb5a6a891665ece5365698f2989ba3782a5ec
2019-02-18 11:18:34 -05:00
Jordan Liggitt
6cec098771 Allow control over media-type 2019-01-29 10:39:24 -05:00
Kubernetes Prow Robot
d1031b18fc
Merge pull request #73279 from dims/fix-problem-fetching-sudo
Run apt-get update before installing sudo
2019-01-24 14:55:33 -08:00
Kubernetes Prow Robot
e28c757e87
Merge pull request #72972 from liggitt/remove-alpha-initializers
Remove use of alpha initializers
2019-01-24 14:54:52 -08:00
Davanum Srinivas
279e1ed117
Run apt-get update before installing sudo
recent changes to kubekins broke local-e2e with the following error
```
E: Unable to locate package sudo
```

Change-Id: I9ad324a2a070bc068ed1f0f88a912eafb191ad90
2019-01-24 11:45:42 -05:00
Jordan Liggitt
dc1fa870bf Remove alpha InitializerConfiguration types, Initializers admission plugin 2019-01-23 11:37:39 -05:00
Roy Lenferink
b18bc2ea79 Improved some more bash script variable definitions 2019-01-21 23:11:58 +01:00
Kubernetes Prow Robot
6ce59dd1a2
Merge pull request #72584 from xing-yang/local_cluster
Install CRD's in local cluster
2019-01-19 08:07:58 -08:00
Roy Lenferink
4b88af1480 bash syntax improvements 2019-01-19 00:47:06 +01:00
Roy Lenferink
a5d0616bdc Improving syntax for bash scripts 2019-01-18 19:17:16 +01:00
Xing Yang
36030137b3 Install CRDs in local cluster
This PR installs CSIDriver and CSINodeInfo CRDs in the
local cluster.

fixes: #70791
2019-01-18 08:16:31 -08:00
Jordan Liggitt
9229399bd6 Remove build/verify scripts for swagger 1.2 API docs, API server swagger ui / swagger 1.2 config 2019-01-15 13:33:06 -05:00
Antonin Stefanutti
f2dc1e2dc6
Use KUBECTL variable to create kube-apiserver-kubelet-admin clusterrolebinding 2018-12-12 19:16:28 +01:00
Jordan Liggitt
67849e6a94 secure kubelet in local-up-cluster 2018-12-04 00:15:01 -05:00
Pavithra Ramesh
6d7c5e90ed Removed .salt template , using .sed template
Removed default config options from yaml.
Removed unused yaml files
2018-11-13 18:33:34 -08:00
Pavithra Ramesh
73b548db06 Support running a nodelocal dns cache
This change includes the yaml files and gce startup script changes
to run this addon. It is disabled by default, can be enabled by setting
KUBE_ENABLE_NODELOCAL_DNS=true
An ip address is required for the cache instance to listen for
requests on, default is a link local ip address of value 169.254.25.10

addressed review comments, updated image location
Picked a different prometheus port so stats port is not same as the
coredns deployment

Removed the nodelocaldns-ready label.
Set memory limit to 30Mi
2018-11-12 14:54:20 -08:00
Jean-Francois Chevrette
c4ea93c42b update list of default admission plugins 2018-09-30 15:40:34 -04:00
Jean-Francois Chevrette
816c56b619 set default admission plugins on local-up-cluster.sh 2018-09-28 20:49:13 -04:00
k8s-ci-robot
9505330dc8
Merge pull request #69030 from zhangmingld/fixlocalup
fix allow-priviledge not work in local-up-cluster
2018-09-27 15:53:28 -07:00
k8s-ci-robot
3f01e09afe
Merge pull request #68970 from yue9944882/fixes-bsd-sed-compatibility
Fixes bsd / gnu sed compatibility for local-up-cluster script
2018-09-27 06:06:49 -07:00
k8s-ci-robot
9f681f0f6e
Merge pull request #68778 from xychu/add-reuse-certs
Add REUSE_CERT to skip creaing new ca/cert files
2018-09-26 04:57:08 -07:00
zhangmingld
909677802e fix allow-priviledge not work in local-up-cluster 2018-09-25 17:07:18 +08:00
zuoxiu.jm
fbff5fd084 fixes bsd / gnu sed 2018-09-24 19:42:14 +08:00
Xiangyang Chu
f4d8aa1ca4 Update according to review comments.
Will rebase before merge
2018-09-20 16:45:28 +08:00
Xiangyang Chu
385d18d05e Add REUSE_CERT to skip creaing new ca/cert files
It's maybe useful with PERSERVE_ETCD to run apiserver using existed
certs, so that service account secrets will keep valid.
2018-09-18 17:39:15 +08:00
Derek Carr
acdb1b0e98 Fix local-up-cluster when specifying CERT_DIR 2018-09-13 12:45:07 -04:00
Marian Lobur
3f730d4c25 Remove deprecated legacy audit logging code. 2018-08-23 12:08:54 +02:00
Kubernetes Submit Queue
24fa5edb60
Merge pull request #66739 from islinwb/ipvs_mods_check
Automatic merge from submit-queue (batch tested with PRs 66489, 66728, 66739). 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 incomplete check of ipvs modules in hack/local-up-cluster.sh

**What this PR does / why we need it**:
Currently `hack/local-up-cluster.sh` executes `sudo modprobe -a ip_vs ip_vs_rr ip_vs_wrr ip_vs_sh nf_conntrack_ipv4` to check whether the ipvs required modules exist, which leaves out the scenario https://github.com/kubernetes/kubernetes/issues/63801 mentioned.
Since `func CanUseIPVSProxier` in  `pkg/proxy/ipvs/proxier.go` covers all scenarios, maybe we should just remove this part instead of adding codes.

**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-07-30 17:10:07 -07:00
Kubernetes Submit Queue
28b6fb5f7d
Merge pull request #66729 from dims/switch-off-leader-election-in-local-up-cluster
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>.

Switch off leader election for scheduler and kube/cloud controller

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

We now have leader election on by default, for a single node
local-up-cluster, this is not needed. Let's switch it off

This will reduce the flakiness and timeouts we see in the local e2e CI jobs.

**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-07-28 13:26:17 -07:00
Kubernetes Submit Queue
91a1ed88de
Merge pull request #66723 from dims/enable-etcd-logging-in-local-e2e-jobs
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 etcd logging in local-e2e jobs

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

We are not saving the etcd logs and just redirecting the output
to /dev/null. In this change, we set ETCD_LOGFILE to the same
directory where we log other kube relates processes.


**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**:
See example run in http://gcsweb.k8s.io/gcs/kubernetes-jenkins/pr-logs/pull/66608/pull-kubernetes-local-e2e/254/artifacts/kubetest-local263115757/

**Release note**:

```release-note
NONE
```
2018-07-28 00:53:56 -07:00
Weibin Lin
2e79fd6954 remove incomplete check of ipvs modules in hack/local-up-cluster.sh 2018-07-28 14:43:42 +08:00
Davanum Srinivas
b42efcf63c
Switch off leader election for scheduler and kube/cloud controller
We now have leader election on by default, for a single node
local-up-cluster, this is not needed. Let's switch it off

Change-Id: I5cc4c3b9f74e318f378f239d1e8ee84603b3a6ef
2018-07-27 18:57:09 -04:00
Davanum Srinivas
b96969347d
Grab docker log using a soft link in local-up-cluster
Would be useful to debug problems like timeouts and missing images etc
for the local e2e jobs.

Change-Id: I959db8e189cafef0f6a80fc0b1d865d1cb7f1de7
2018-07-27 15:35:01 -04:00
Davanum Srinivas
d98c21e912
enable etcd logging in local-e2e jobs
We are not saving the etcd logs and just redirecting the output
to /dev/null. In this change, we set ETCD_LOGFILE to the same
directory where we log other kube relates processes.

Change-Id: I719a941665b749b864f2efdcdfc7ddc7b2a61776
2018-07-27 14:50:40 -04:00
Jordan Liggitt
d98cbb2332
Disable initializers by default 2018-07-10 15:14:32 -04:00
Hemant Kumar
8db5328c4c Implement fixes for flexvolume when kubelet is contanerized
Fix bug with nsenter root path
2018-07-03 14:04:52 -04:00
Kubernetes Submit Queue
f0c89c00a0
Merge pull request #65374 from jpeeler/warning-timestamp
Automatic merge from submit-queue (batch tested with PRs 60150, 65467, 65487, 65595, 65374). 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 warning function that includes timestamp

Knowing when a process has terminated is helpful when looking through log files. The scenario that happened to me was that /tmp filled up, so as expected things failed. But I'd really like to know when things got bad without looking through 10G log files.

Release note:
```release-note
NONE
```
2018-06-28 19:15:19 -07:00
Jeff Peeler
ae271b4db0 Add warning function that includes timestamp
Knowing when a process has terminated is helpful when looking through
log files (especially very large ones). This also refactors the terminal
coloring function to be used with custom prefix and colors.

warning_log outputs red text in the current e2e inspired format:
W0628 16:58:26]: this is a test
2018-06-28 16:58:39 -04:00
Kubernetes Submit Queue
5e16fd5526
Merge pull request #57355 from gnufied/disable-keep-terminated-pod-volumes-default
Automatic merge from submit-queue (batch tested with PRs 65230, 57355, 59174, 63698, 63659). 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>.

keep-terminated-pod-volumes should be false

This flag already has been marked as deprecated. We should avoid setting it in local clusters.

xref https://github.com/kubernetes/kubernetes/pull/47539
2018-06-19 20:19:12 -07:00
Hemant Kumar
9e1674d7f0 keep-terminated-pod-volumes should be false
Remove keep terminated volumes. The flag has already been
deprecated.
2018-06-07 09:48:28 -04:00
Kubernetes Submit Queue
36a3daa355
Merge pull request #61610 from rajansandeep/kubeupaddon
Automatic merge from submit-queue (batch tested with PRs 61610, 64591, 58143, 63929). 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>.

Create CoreDNS and kube-dns folders

**What this PR does / why we need it**:
Separate the CoreDNS and kube-dns manifests by creating their own folders (dns/coredns and dns/kube-dns) 

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

**Special notes for your reviewer**:

**Release note**:

```release-note
NONE
```
cc @MrHohn
2018-06-04 12:26:12 -07:00
m1093782566
674a31e4d6 remove ipvs feature gateway 2018-05-30 10:43:16 +08:00
Sandeep Rajan
753632d85b create coredns and kube-dns folders 2018-05-29 11:52:57 -04:00
Kubernetes Submit Queue
ad4b283ee9
Merge pull request #63151 from YonatanKiron/enable-local-cluster-port-range
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 optional flag of node port range

**What this PR does / why we need it**:
Add option of setting port range when using hack/local-up-cluster.sh
**Which issue(s) this PR fixes**
Inability to set port range flag

**Release note**:

```release-note
NONE
```
2018-05-21 20:45:32 -07:00
Yonatan Kiron
0b7b2de8c8 Add optional flag of node port range 2018-05-21 12:22:49 +03:00
Doug MacEachern
2dd3fbda0b Use absolute path for KUBECTL default in local up cluster
This avoids having to set the KUBECTL env var if local-up-cluster.sh is run outside of the repo root.
2018-05-09 16:25:59 -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
Davanum Srinivas
b44c68eb2e Hack for testing until test-infra/pull/7846 merges 2018-04-25 06:12:20 -04: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
43a5c65979
Merge pull request #60085 from jpeeler/remove-podpreset
Automatic merge from submit-queue (batch tested with PRs 62726, 60085, 62583). 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 podpreset in local up cluster

This was enabled in 6a7aca3129, but
shouldn't have been since the podpreset implementation is in the process
of being moved into service-catalog.

Release note:
```release-note
NONE
```
2018-04-19 11:00:18 -07:00
Matthias Bertschy
9b15af19b2 Update all script to use /usr/bin/env bash in shebang 2018-04-19 13:20:13 +02:00
Kubernetes Submit Queue
1ee2ac07c1
Merge pull request #60633 from pohly/local-up-cluster-enhancements
Automatic merge from submit-queue (batch tested with PRs 62445, 62768, 60633). 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>.

Local up cluster enhancements

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

Networking in a cluster brought up by hack/local-up-cluster.sh was broken because kube-proxy fails to start: connectivity to the Internet is okay, but anything involving communication among services (for example, starting cluster DNS) fails.

Debugging this took a while because there was no indication in the output of hack/local-up-cluster.sh that something had gone wrong. There were also some harmless "no such process" errors during cleanup.

The kube-proxy startup issue was fixed in parallel by PR #60431 but that fix turned out to be incomplete, so this PR uses a different approach, suppresses the harmless error messages (caused by a race) and also makes it more obvious when processes die by checking them regularly.

**Special notes for your reviewer**:

I used

     KUBE_ENABLE_CLUSTER_DNS=true NET_PLUGIN=kubenet hack/local-up-cluster.sh -O

to start the cluster. Check the kube-dns pod and its logs to see how kube-dns fails to communicate with the API server.

I've left out health checking of kubelet when run under Docker because that isn't something that I have used myself yet and I wanted to send the enhancements without further delays. I can try to add that later once you agree that such a health check is useful.

**Release note**:
```release-note
fix network setup in hack/local-up-cluster.sh (https://github.com/kubernetes/kubernetes/pull/60431)
better error diagnostics in hack/local-up-cluster.sh output
```
2018-04-18 12:25:12 -07:00
Kubernetes Submit Queue
b2f19b0d0d
Merge pull request #62057 from cofyc/fixlocalupscript
Automatic merge from submit-queue (batch tested with PRs 58784, 62057, 62621, 62652, 62656). 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 docker run flags for containized kubelet in hack/local-up-cluster.sh

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

I'm working on https://github.com/kubernetes/kubernetes/issues/61741, and found `docker run` flags in `hack/local-up-cluster.sh` for kubelet container is too old.

- /var/lib/docker should be mount read-write, because kubelet needs to
  update /etc/resolv.conf file in container, see #29378
- /var/lib/kubelet should be mount shared, because mountpoints under
  this directory must be propagated to other containers
- `--pid=host` is needed to run `nsenter --mount=/rootfs/proc/1/ns/mnt -- /usr/bin/systemd-run --scope` correctly (don't know exact reason, but with `--pid=host`, it works)
- configure cluster dns for kubelet running in a container
- should propagate sub-mounts of / to kubelet for local volume

With this fix, we can start a local cluster with containerized kubelet.

```
# pull or build a hyperkube image first
docker tag k8s.gcr.io/hyperkube-amd64:<tag> k8s.gcr.io/kubelet:latest
export DOCKERIZE_KUBELET=y
./hack/local-up-cluster.sh
```

**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**:

refer to: https://github.com/kubernetes/kubernetes-anywhere/blob/master/phase2/ignition/vanilla/kubelet.service.

**Release note**:

```release-note
NONE
```
2018-04-16 12:58:14 -07:00
Yecheng Fu
0f9b0beee7 Fix docker run flags and kubelet flags for containized kubelet:
- /var/lib/docker should be mount read-write, because kubelet needs to
  update /etc/resolv.conf file in container, see #29378
- /var/lib/kubelet should be mount rslave, because mountpoints under
  this directory must be propagated to other containers
- `--pid=host` is needed to run `nsenter --mount=/rootfs/proc/1/ns/mnt -- /usr/bin/systemd-run --scope` correctly
- configure cluster dns for kubelet running in a container
- should propagate sub-mounts of / to kubelet for local volume
- Use rslave to mount /var/lib/docker/ so we can see what the host
  mounts under this path.
- Keep containerized kubelet flags same as non-containerized and check
  kubelet is running or not.
- Use `all_kubelet_flags` to share kubelet flags.
2018-04-14 11:15:24 +08:00