Merge pull request #87632 from pjh/multi-arch-smoke-test

Update GCE Windows smoke-test script to work with 1909 nodes.
This commit is contained in:
Kubernetes Prow Robot 2020-01-30 16:59:43 -08:00 committed by GitHub
commit 9f44f7ecc2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 25 additions and 19 deletions

View File

@ -84,14 +84,15 @@ Now bring up a cluster using one of the following two methods:
```
# Invoke kube-up.sh with these environment variables:
# PROJECT: text name of your GCP project.
# KUBERNETES_SKIP_CONFIRM: skips any kube-up prompts.
PROJECT=${CLOUDSDK_CORE_PROJECT} KUBERNETES_SKIP_CONFIRM=y ./cluster/kube-up.sh
# KUBE_UP_AUTOMATIC_CLEANUP (optional): cleans up existing cluster without
# prompting.
PROJECT=${CLOUDSDK_CORE_PROJECT} KUBE_UP_AUTOMATIC_CLEANUP=true ./cluster/kube-up.sh
```
To teardown the cluster run:
```
PROJECT=${CLOUDSDK_CORE_PROJECT} KUBERNETES_SKIP_CONFIRM=y ./cluster/kube-down.sh
PROJECT=${CLOUDSDK_CORE_PROJECT} ./cluster/kube-down.sh
```
#### 2b. Create a Kubernetes end-to-end (E2E) test cluster

View File

@ -245,17 +245,19 @@ function undeploy_linux_command_pod {
${kubectl} delete deployment $linux_command_deployment
}
windows_webserver_deployment=windows-nettest
windows_webserver_pod_label=nettest
windows_webserver_deployment=windows-agnhost
windows_webserver_pod_label=agnhost
# The default port for 'agnhost serve-hostname'. The documentation says that
# this can be changed but the --port arg does not seem to work.
windows_webserver_port=9376
windows_webserver_replicas=1
function deploy_windows_webserver_pod {
echo "Writing example deployment to $windows_webserver_deployment.yaml"
cat <<EOF > $windows_webserver_deployment.yaml
# You can run a pod with the e2eteam/nettest:1.0 image (which should listen on
# <podIP>:8080) and create another pod on a different node (linux would be
# easier) to curl the http server:
# curl http://<pod_ip>:8080/read
# A multi-arch Windows container that runs an HTTP server on port
# $windows_webserver_port that serves the container's hostname.
# curl -s http://<pod_ip>:$windows_webserver_port
apiVersion: apps/v1
kind: Deployment
metadata:
@ -273,8 +275,10 @@ spec:
app: $windows_webserver_pod_label
spec:
containers:
- name: nettest
image: e2eteam/nettest:1.0
- name: agnhost
image: e2eteam/agnhost:2.8
args:
- serve-hostname
nodeSelector:
beta.kubernetes.io/os: windows
tolerations:
@ -332,6 +336,7 @@ windows_command_deployment=windows-powershell
windows_command_pod_label=powershell
windows_command_replicas=1
# Deploys a multi-arch Windows pod capable of running PowerShell.
function deploy_windows_command_pod {
echo "Writing example deployment to $windows_command_deployment.yaml"
cat <<EOF > $windows_command_deployment.yaml
@ -352,8 +357,8 @@ spec:
app: $windows_command_pod_label
spec:
containers:
- name: nettest
image: e2eteam/nettest:1.0
- name: pause-win
image: gcr.io/gke-release/pause-win:1.1.0
nodeSelector:
beta.kubernetes.io/os: windows
tolerations:
@ -422,7 +427,7 @@ function test_linux_pod_to_linux_pod {
local linux_webserver_pod_ip
linux_webserver_pod_ip="$(get_linux_webserver_pod_ip)"
if ! $kubectl exec "$linux_command_pod" -- curl -m 20 \
if ! $kubectl exec "$linux_command_pod" -- curl -s -m 20 \
"http://$linux_webserver_pod_ip" &> $output_file; then
cleanup_deployments
echo "Failing output: $(cat $output_file)"
@ -444,8 +449,8 @@ function test_linux_pod_to_windows_pod {
local windows_webserver_pod_ip
windows_webserver_pod_ip="$(get_windows_webserver_pod_ip)"
if ! $kubectl exec "$linux_command_pod" -- curl -m 20 \
"http://$windows_webserver_pod_ip:8080/read" &> $output_file; then
if ! $kubectl exec "$linux_command_pod" -- curl -s -m 20 \
"http://$windows_webserver_pod_ip:$windows_webserver_port" &> $output_file; then
cleanup_deployments
echo "Failing output: $(cat $output_file)"
echo "FAILED: ${FUNCNAME[0]}"
@ -461,7 +466,7 @@ function test_linux_pod_to_internet {
# A stable (hopefully) HTTP server provided by Cloudflare.
local internet_ip="1.1.1.1"
if ! $kubectl exec "$linux_command_pod" -- curl -m 20 \
if ! $kubectl exec "$linux_command_pod" -- curl -s -m 20 \
"http://$internet_ip" > $output_file; then
cleanup_deployments
echo "Failing output: $(cat $output_file)"
@ -486,7 +491,7 @@ function test_linux_pod_to_k8s_service {
# curl-ing the metrics-server service downloads 14 bytes of unprintable binary
# data and sets a return code of success (0).
if ! $kubectl exec "$linux_command_pod" -- \
curl -m 20 "http://$service_ip:$service_port" &> $output_file; then
curl -s -m 20 "http://$service_ip:$service_port" &> $output_file; then
cleanup_deployments
echo "Failing output: $(cat $output_file)"
echo "FAILED: ${FUNCNAME[0]}"
@ -534,7 +539,7 @@ function test_windows_pod_to_windows_pod {
windows_webserver_pod_ip="$(get_windows_webserver_pod_ip)"
if ! $kubectl exec "$windows_command_pod" -- powershell.exe \
"curl -UseBasicParsing http://$windows_webserver_pod_ip:8080/read" \
"curl -UseBasicParsing http://$windows_webserver_pod_ip:$windows_webserver_port" \
> $output_file; then
cleanup_deployments
echo "Failing output: $(cat $output_file)"