CONTENT_TYPE in this case is `kube-api-content-type=application/vnd.kubernetes.protobuf` and it can be removed since
we don’t see a need for setting it differently in the tests.
Signed-off-by: Jiaxin Shan <seedjeffwan@gmail.com>
Currently hollow nodes communicate with kubemark master using public
master IP, which results in each call going through cloud NAT. Cloud NAT
limitations become performance bottleneck (see kubernetes/perf-tests/issues/874).
To mitigate this, in this change, a second kubeconfig called "internal"
is created. It uses private master IP and is used to set up hollow nodes.
Note that we still need the original kubemark kubeconfig (using public master IP)
to be able to communicate with the master from outside the cluster (when
setting it up or running tests).
Testing:
- set up kubemark cluster, verified apiserver logs to confirm that the call
from hollow nodes did not go through NAT
Do some cleanups to start-kubemark.sh.
1. Add double quotes around variables which are expanded. This is done
even on those variables which probably won't have spaces, globs or
similar (such as $MASTER_IP) to stay consistent.
2. In one place, change old-type `...` subshell invocation to $(...) to
stay consistent through the file.
3. Remove useless echo commands in expressions: FOO=$(echo "$bar")
becomes FOO="$bar".
4. In a few places, remove double quotes around variables when an
expression is already inside them: the variables would have been
effectively unquoted.
The last change in the patch changes the printing a bit -- the old way
did not print whitespace correctly due to inner echo missing the quotes
around it. The change should fix the printout:
- echo $(echo "${pods}" | grep -v "Running")
+ echo "${pods}" | grep -v Running
Automatic merge from submit-queue (batch tested with PRs 62407, 62602, 62539, 62639, 62647). 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 kubemark image-registry name assignment
Allows to create kubemark instance without explicitly specifying the project name.
start-kubemark.sh used to not run properly when using project name acquired from the cloud provider.
```release-note
NONE
```
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.