This repository was archived by the owner on Nov 1, 2023. It is now read-only.
File tree Expand file tree Collapse file tree 7 files changed +65
-15
lines changed
Expand file tree Collapse file tree 7 files changed +65
-15
lines changed Original file line number Diff line number Diff line change @@ -50,7 +50,8 @@ $ terraform apply \
5050 -var nodes=1 \
5151 -var server_type_node=C2S \
5252 -var weave_passwd=ChangeMe \
53- -var docker_version=17.12.0~ce-0~ubuntu
53+ -var docker_version=18.06 \
54+ -var ubuntu_version=" Ubuntu Bionic"
5455```
5556
5657This will do the following:
@@ -91,7 +92,8 @@ $ terraform apply \
9192 -var nodes=2 \
9293 -var server_type_node=C1 \
9394 -var weave_passwd=ChangeMe \
94- -var docker_version=17.03.0~ce-0~ubuntu-xenial
95+ -var docker_version=18.06 \
96+ -var ubuntu_version=" Ubuntu Xenial"
9597```
9698
9799### Remote control
Original file line number Diff line number Diff line change @@ -7,7 +7,7 @@ provider "external" {
77 version = " 1.0.0"
88}
99
10- data "scaleway_image" "xenial " {
10+ data "scaleway_image" "ubuntu " {
1111 architecture = " ${ var . arch } "
12- name = " Ubuntu Xenial "
12+ name = " ${ var . ubuntu_version } "
1313}
Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ resource "scaleway_ip" "k8s_master_ip" {
55resource "scaleway_server" "k8s_master" {
66 count = 1
77 name = " ${ terraform . workspace } -master-${ count . index + 1 } "
8- image = " ${ data . scaleway_image . xenial . id } "
8+ image = " ${ data . scaleway_image . ubuntu . id } "
99 type = " ${ var . server_type } "
1010 public_ip = " ${ element (scaleway_ip. k8s_master_ip . * . ip , count. index )} "
1111 security_group = " ${ scaleway_security_group . master_security_group . id } "
3636chmod +x /tmp/docker-install.sh
3737chmod +x /tmp/kubeadm-install.sh
3838
39- /tmp/docker-install.sh ${ var . docker_version } && \
40- /tmp/kubeadm-install.sh ${ var . k8s_version }
39+ export ubuntu_version=$(echo -n ${ var . ubuntu_version } | cut -d " " -f 2 | awk '{print tolower($0)}')
40+ /tmp/docker-install.sh $${ubuntu_version} ${ var . arch } ${ var . docker_version } && \
41+ /tmp/kubeadm-install.sh ${ var . k8s_version } && \
4142
4243modify_kube_apiserver_config(){
4344 while [[ ! -e /etc/kubernetes/manifests/kube-apiserver.yaml ]]; do
Original file line number Diff line number Diff line change @@ -5,7 +5,7 @@ resource "scaleway_ip" "k8s_node_ip" {
55resource "scaleway_server" "k8s_node" {
66 count = " ${ var . nodes } "
77 name = " ${ terraform . workspace } -node-${ count . index + 1 } "
8- image = " ${ data . scaleway_image . xenial . id } "
8+ image = " ${ data . scaleway_image . ubuntu . id } "
99 type = " ${ var . server_type_node } "
1010 public_ip = " ${ element (scaleway_ip. k8s_node_ip . * . ip , count. index )} "
1111 security_group = " ${ scaleway_security_group . node_security_group . id } "
@@ -31,7 +31,8 @@ resource "scaleway_server" "k8s_node" {
3131 provisioner "remote-exec" {
3232 inline = [
3333 " set -e" ,
34- " chmod +x /tmp/docker-install.sh && /tmp/docker-install.sh ${ var . docker_version } " ,
34+ " export ubuntu_version=$(echo -n ${ var . ubuntu_version } | cut -d \" \" -f 2 | awk '{print tolower($0)}')" ,
35+ " chmod +x /tmp/docker-install.sh && /tmp/docker-install.sh $${ubuntu_version} ${ var . arch } ${ var . docker_version } " ,
3536 " chmod +x /tmp/kubeadm-install.sh && /tmp/kubeadm-install.sh ${ var . k8s_version } " ,
3637 " ${ data . external . kubeadm_join . result . command } " ,
3738 ]
Original file line number Diff line number Diff line change 22
33set -e
44
5- DOCKER_VERSION=$1
5+ UBUNTU_VERSION=$1
6+ ARCH=$2
7+ DOCKER_VERSION=$3
8+
9+ if [[ ${ARCH} == " arm" ]]; then export ARCH=armhf; fi
10+ if [[ ${ARCH} == " x86_64" ]]; then export ARCH=amd64; fi
611
712apt-get update -qq
813apt-get install -y -qq apt-transport-https ca-certificates curl git
914curl -fsSL " https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq -
10- echo " deb https://download.docker.com/linux/ubuntu xenial stable" | tee /etc/apt/sources.list.d/docker.list
15+ echo " deb [arch=${ARCH} ] https://download.docker.com/linux/ubuntu ${UBUNTU_VERSION} stable" | \
16+ tee /etc/apt/sources.list.d/docker.list
1117apt-get update -qq
12- apt-get install -y -qq --no-install-recommends docker-ce=${DOCKER_VERSION}
18+
19+ if (( $(echo - n ${DOCKER_VERSION} | wc - c) > 5 )) ; then
20+ export EXACT_DOCKER_VERSION=${DOCKER_VERSION}
21+ else
22+ export EXACT_DOCKER_VERSION=$( apt-cache madison docker-ce | \
23+ grep " ${DOCKER_VERSION} .*${UBUNTU_VERSION} " | awk ' NR==1 {print $3}' )
24+ fi
25+
26+ apt-get install -y -qq --no-install-recommends docker-ce=${EXACT_DOCKER_VERSION}
1327apt-mark hold docker-ce
1428docker version
1529
Original file line number Diff line number Diff line change @@ -15,7 +15,9 @@ if [ "$ARCH" == "arm" ]; then
1515 kubectl apply -f /tmp/heapster-arm.yaml;
1616 kubectl apply -f /tmp/metrics-server-arm.yaml;
1717elif [ " $ARCH " == " x86_64" ]; then
18- kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/alternative/kubernetes-dashboard.yaml;
18+ curl -s -f https://raw.githubusercontent.com/kubernetes/dashboard/master/aio/deploy/alternative/kubernetes-dashboard.yaml | \
19+ sed -e ' s/v2.0.0-alpha0/v1.8.3/g' | \
20+ kubectl apply -f -;
1921 kubectl apply -f /tmp/heapster-amd64.yaml;
2022 kubectl apply -f /tmp/metrics-server-amd64.yaml;
2123fi
Original file line number Diff line number Diff line change 1+ variable "ubuntu_version" {
2+ default = " Ubuntu Xenial"
3+ description = << EOT
4+
5+ For arm, choose from:
6+ - Ubuntu Xenial
7+
8+ For x86_64, choose from:
9+ - Ubuntu Xenial
10+ - Ubuntu Bionic
11+
12+ Notes:
13+ - kubernetes only has xenial packages for debian
14+ - currently arm is not working with ubuntu bionic (kubeadm init hangs)
15+
16+ EOT
17+ }
18+
119variable "docker_version" {
2- default = " 17.03.0~ce-0~ubuntu-xenial"
3- description = " Use 17.12.0~ce-0~ubuntu for x86_64 and 17.03.0~ce-0~ubuntu-xenial for arm"
20+ default = " 18.06"
21+ description = << EOT
22+
23+ Specify the docker version either as
24+
25+ - Simplified 5 characters name such as:
26+ - 17.03
27+ - 18.06
28+
29+ - The exact release name such as:
30+ - 17.03.0~ce-0~ubuntu-xenial
31+ - 18.06.0~ce~3-0~ubuntu
32+
33+ EOT
434}
535
636variable "k8s_version" {
You can’t perform that action at this time.
0 commit comments