Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit bfb89c6

Browse files
authored
Merge pull request kubernetes-client#665 from micw523/k8s-version-upgrade
Update Travis CI to use most current k8s server version
2 parents 529c0d3 + e639053 commit bfb89c6

File tree

2 files changed

+48
-43
lines changed

2 files changed

+48
-43
lines changed

.travis.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# ref: https://docs.travis-ci.com/user/languages/python
22
language: python
3-
dist: trusty
3+
dist: xenial
44
sudo: true
55
services:
66
- docker

scripts/kube-init.sh

Lines changed: 47 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,11 @@ trap "clean_exit" EXIT
3030
# Switch off SE-Linux
3131
setenforce 0
3232

33+
# Mount root to fix dns issues
34+
# Define $HOME since somehow this is not defined
35+
HOME=/home/travis
36+
sudo mount --make-rshared /
37+
3338
# Install docker if needed
3439
path_to_executable=$(which docker)
3540
if [ -x "$path_to_executable" ] ; then
@@ -40,7 +45,7 @@ fi
4045
docker --version
4146

4247
# Get the latest stable version of kubernetes
43-
export K8S_VERSION=$(curl -sS https://storage.googleapis.com/kubernetes-release/release/stable.txt)
48+
K8S_VERSION=$(curl -sS https://storage.googleapis.com/kubernetes-release/release/stable.txt)
4449
echo "K8S_VERSION : ${K8S_VERSION}"
4550

4651
echo "Starting docker service"
@@ -54,48 +59,48 @@ wget -O kubectl "http://storage.googleapis.com/kubernetes-release/release/${K8S_
5459
sudo chmod +x kubectl
5560
sudo mv kubectl /usr/local/bin/
5661

57-
echo "Download localkube from minikube project"
58-
wget -O localkube "https://storage.googleapis.com/minikube/k8sReleases/v1.7.0/localkube-linux-amd64"
59-
sudo chmod +x localkube
60-
sudo mv localkube /usr/local/bin/
61-
62-
echo "Starting localkube"
63-
sudo nohup localkube --logtostderr=true --enable-dns=false > localkube.log 2>&1 &
64-
65-
echo "Waiting for localkube to start..."
66-
if ! timeout 120 sh -c "while ! curl -ks http://127.0.0.1:8080/ >/dev/null; do sleep 1; done"; then
67-
sudo cat localkube.log
68-
die $LINENO "localkube did not start"
62+
echo "Download minikube from minikube project"
63+
wget -O minikube "https://storage.googleapis.com/minikube/releases/v0.30.0/minikube-linux-amd64"
64+
sudo chmod +x minikube
65+
sudo mv minikube /usr/local/bin/
66+
67+
# L68-100: Set up minikube within Travis CI
68+
# See https://github.com/kubernetes/minikube/blob/master/README.md#linux-continuous-integration-without-vm-support
69+
echo "Set up minikube"
70+
export MINIKUBE_WANTUPDATENOTIFICATION=false
71+
export MINIKUBE_WANTREPORTERRORPROMPT=false
72+
export CHANGE_MINIKUBE_NONE_USER=true
73+
sudo mkdir -p $HOME/.kube
74+
sudo mkdir -p $HOME/.minikube
75+
sudo touch $HOME/.kube/config
76+
export KUBECONFIG=$HOME/.kube/config
77+
export MINIKUBE_HOME=$HOME
78+
export MINIKUBE_DRIVER=${MINIKUBE_DRIVER:-none}
79+
80+
# Used bootstrapper to be kubeadm for the most recent k8s version
81+
# since localkube is depreciated and only supported up to version 1.10.0
82+
echo "Starting minikube"
83+
sudo minikube start --vm-driver=$MINIKUBE_DRIVER --bootstrapper=kubeadm --kubernetes-version=$K8S_VERSION --logtostderr
84+
85+
MINIKUBE_OK="false"
86+
87+
echo "Waiting for minikube to start..."
88+
# this for loop waits until kubectl can access the api server that Minikube has created
89+
for i in {1..90}; do # timeout for 3 minutes
90+
kubectl get po &> /dev/null
91+
if [ $? -ne 1 ]; then
92+
MINIKUBE_OK="true"
93+
break
94+
fi
95+
sleep 2
96+
done
97+
98+
# Shut down CI if minikube did not start and show logs
99+
if [ $MINIKUBE_OK == "false" ]; then
100+
sudo minikube logs
101+
die $LINENO "minikube did not start"
69102
fi
70103

71-
echo "Check certificate permissions"
72-
sudo chmod 644 /var/lib/localkube/certs/*
73-
sudo ls -altr /var/lib/localkube/certs/
74-
75-
echo "Set up .kube/config"
76-
mkdir ~/.kube
77-
cat <<EOF > ~/.kube/config
78-
apiVersion: v1
79-
clusters:
80-
- cluster:
81-
insecure-skip-tls-verify: true
82-
server: https://localhost:8443
83-
name: local
84-
contexts:
85-
- context:
86-
cluster: local
87-
user: myself
88-
name: local
89-
current-context: local
90-
kind: Config
91-
preferences: {}
92-
users:
93-
- name: myself
94-
user:
95-
client-certificate: /var/lib/localkube/certs/apiserver.crt
96-
client-key: /var/lib/localkube/certs/apiserver.key
97-
EOF
98-
99104
echo "Dump Kubernetes Objects..."
100105
kubectl get componentstatuses
101106
kubectl get configmaps
@@ -124,4 +129,4 @@ kubectl get services
124129
echo "Running tests..."
125130
set -x -e
126131
# Yield execution to venv command
127-
$*
132+
$*

0 commit comments

Comments
 (0)