Skip to content

Commit 44b43cb

Browse files
authored
Merge pull request #16 from figo/artifacts-source
Allow customize kubernetes, cni source
2 parents 894e68b + a8866d5 commit 44b43cb

File tree

7 files changed

+38
-30
lines changed

7 files changed

+38
-30
lines changed

images/capi/Makefile

+1-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ all: build
2222
BUILD_NAMES ?= centos-7 ubuntu-1804
2323

2424
# The version of Kubernetes to install.
25-
KUBE_JSON ?= config/kubernetes.json
25+
KUBE_JSON ?= config/kubernetes.json config/cni.json
2626

2727
# The flags to give to Packer.
2828
PACKER_VAR_FILES := $(KUBE_JSON)

images/capi/ansible/roles/kubernetes/defaults/main.yml

+1-18
Original file line numberDiff line numberDiff line change
@@ -12,20 +12,7 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414
---
15-
kubernetes_semver: "latest"
16-
kubernetes_source: "pkg"
17-
kubernetes_version: "latest"
18-
kubernetes_cni_version: "latest"
19-
20-
kubernetes_rpm_repo: "https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64"
21-
kubernetes_rpm_gpg_key: "https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg"
22-
kubernetes_rpm_gpg_check: True
23-
24-
# Currently Kubernetes does not publish a repo specifically for Bionic, instead hardcode xenial here for now
25-
# https://github.com/kubernetes/release/issues/557
26-
#kubernetes_deb_repo: "http://apt.kubernetes.io/ kubernetes-' ~ (ansible_distribution_release | lower)"
27-
kubernetes_deb_repo: "http://apt.kubernetes.io/ kubernetes-xenial"
28-
kubernetes_deb_gpg_key: "https://packages.cloud.google.com/apt/doc/apt-key.gpg"
15+
kubernetes_goarch: "amd64"
2916

3017
kubernetes_bins:
3118
- kubeadm
@@ -37,7 +24,3 @@ kubernetes_imgs:
3724
- kube-controller-manager.tar
3825
- kube-scheduler.tar
3926
- kube-proxy.tar
40-
41-
# TODO(akutz) Refactor this the same way Kubernetes versions are now handled.
42-
# For now this is only used when kubernetes_source != "pkg".
43-
kubernetes_cni_source: "https://storage.googleapis.com/capv-images/extra/cni-plugins-amd64-v0.7.5.tgz"

images/capi/ansible/roles/kubernetes/tasks/main.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
when: kubernetes_source == "pkg" and ansible_os_family == "RedHat"
2020

2121
- import_tasks: url.yml
22-
when: kubernetes_source != "pkg"
22+
when: kubernetes_source != "pkg" and kubernetes_cni_source != "pkg"
2323

2424
- name: Ensure that the kubelet is running
2525
service:

images/capi/ansible/roles/kubernetes/tasks/url.yml

+12-4
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232

3333
- name: Download CNI tarball
3434
get_url:
35-
url: "{{ kubernetes_cni_source }}"
36-
checksum: "sha1:{{ kubernetes_cni_source }}.sha1"
35+
url: "{{ kubernetes_cni_source }}/{{ kubernetes_cni_semver }}/cni-plugins-{{ kubernetes_goarch }}-{{ kubernetes_cni_semver }}.tgz"
36+
checksum: "sha1:{{ kubernetes_cni_source }}/{{ kubernetes_cni_semver }}/cni-plugins-{{ kubernetes_goarch }}-{{ kubernetes_cni_semver }}.tgz.sha1"
3737
dest: /tmp/cni.tar.gz
3838
mode: 0755
3939
owner: root
@@ -52,7 +52,7 @@
5252

5353
- name: Download Kubernetes binaries
5454
get_url:
55-
url: "{{ kubernetes_source }}/bin/linux/amd64/{{ item }}"
55+
url: "{{ kubernetes_source }}/bin/linux/{{ kubernetes_goarch }}/{{ item }}"
5656
# TODO(akutz) Write a script to separately download the checksum
5757
# and verify the associated file using the correct
5858
# checksum file format
@@ -65,7 +65,7 @@
6565

6666
- name: Download Kubernetes images
6767
get_url:
68-
url: "{{ kubernetes_source }}/bin/linux/amd64/{{ item }}"
68+
url: "{{ kubernetes_source }}/bin/linux/{{ kubernetes_goarch }}/{{ item }}"
6969
# TODO(akutz) Write a script to separately download the checksum
7070
# and verify the associated file using the correct
7171
# checksum file format
@@ -91,6 +91,14 @@
9191
owner: root
9292
group: root
9393

94+
- name: Create kubelet sysconfig directory
95+
file:
96+
state: directory
97+
path: /etc/sysconfig
98+
mode: 0755
99+
owner: root
100+
group: root
101+
94102
- name: Create kubelet sysconfig file
95103
copy:
96104
src: files/etc/sysconfig/kubelet

images/capi/config/cni.json

+5
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"kubernetes_cni_semver": "v0.7.5",
3+
"kubernetes_cni_version": "0.7.5-00",
4+
"kubernetes_cni_source": "pkg"
5+
}

images/capi/config/kubernetes.json

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
"kubernetes_semver": "v1.13.6",
33
"kubernetes_version": "1.13.6-00",
4-
"kubernetes_source": "pkg"
4+
"kubernetes_source": "pkg",
5+
"kubernetes_rpm_repo": "https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64",
6+
"kubernetes_rpm_gpg_key": "\"https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg\"",
7+
"kubernetes_rpm_gpg_check": "True",
8+
"kubernetes_deb_repo": "\"https://apt.kubernetes.io/ kubernetes-xenial\"",
9+
"kubernetes_deb_gpg_key": "https://packages.cloud.google.com/apt/doc/apt-key.gpg"
510
}

images/capi/packer/packer.json

+12-5
Original file line numberDiff line numberDiff line change
@@ -6,10 +6,17 @@
66
"capv_version": "",
77
"existing_ansible_ssh_args": "{{env `ANSIBLE_SSH_ARGS`}}",
88
"headless": "true",
9-
"kubernetes_cni_version": "0.7.5-00",
10-
"kubernetes_semver": "v1.13.6",
11-
"kubernetes_source": "pkg",
12-
"kubernetes_version": "1.13.6-00",
9+
"kubernetes_cni_version": null,
10+
"kubernetes_cni_semver": null,
11+
"kubernetes_cni_source": null,
12+
"kubernetes_semver": null,
13+
"kubernetes_source": null,
14+
"kubernetes_version": null,
15+
"kubernetes_rpm_repo": null,
16+
"kubernetes_rpm_gpg_key": null,
17+
"kubernetes_deb_repo": null,
18+
"kubernetes_deb_gpg_key": null,
19+
"kubernetes_rpm_gpg_check": null,
1320
"vnc_bind_address": "127.0.0.1",
1421
"vnc_port_min": "5900",
1522
"vnc_port_max": "6000"
@@ -60,7 +67,7 @@
6067
],
6168
"extra_arguments": [
6269
"--extra-vars",
63-
"kubernetes_cni_version={{user `kubernetes_cni_version`}} kubernetes_semver={{user `kubernetes_semver`}} kubernetes_source={{user `kubernetes_source`}} kubernetes_version={{user `kubernetes_version`}}"
70+
"kubernetes_rpm_repo={{user `kubernetes_rpm_repo`}} kubernetes_rpm_gpg_key={{user `kubernetes_rpm_gpg_key`}} kubernetes_rpm_gpg_check={{user `kubernetes_rpm_gpg_check`}} kubernetes_deb_gpg_key={{user `kubernetes_deb_gpg_key`}} kubernetes_cni_version={{user `kubernetes_cni_version`}} kubernetes_cni_semver={{user `kubernetes_cni_semver`}} kubernetes_cni_source={{user `kubernetes_cni_source`}} kubernetes_semver={{user `kubernetes_semver`}} kubernetes_source={{user `kubernetes_source`}} kubernetes_version={{user `kubernetes_version`}}"
6471
]
6572
}
6673
],

0 commit comments

Comments
 (0)