Skip to content

Commit

Permalink
introduce parameter k8s_dashboard_version
Browse files Browse the repository at this point in the history
k8s_version can't be used for dashboard cause dashboard has own set of versions

Change-Id: I24bdd25c230e4ef9e8325679128df10315b17289
Partial-Bug: #1798923
  • Loading branch information
Andrey-mp committed Oct 23, 2018
1 parent 1291600 commit 1dd4f07
Show file tree
Hide file tree
Showing 5 changed files with 29 additions and 38 deletions.
4 changes: 2 additions & 2 deletions playbooks/roles/k8s/tasks/Debian.yml
Expand Up @@ -4,10 +4,10 @@
apt_key:
url: https://packages.cloud.google.com/apt/doc/apt-key.gpg
state: present
when: k8s_version is defined
when: k8s_package_version is defined

- name: create k8s repo
apt_repository:
repo: deb http://apt.kubernetes.io/ kubernetes-xenial main
state: present
when: k8s_version is defined
when: k8s_package_version is defined
4 changes: 2 additions & 2 deletions playbooks/roles/k8s/tasks/RedHat.yml
Expand Up @@ -8,9 +8,9 @@
gpgkey: https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
repo_gpgcheck: yes
gpgcheck: yes
when: k8s_version is defined
when: k8s_package_version is defined

# using this to avoid issue https://github.com/ansible/ansible/issues/20711
- name: make cache to import gpg keys
command: "yum -q makecache -y --disablerepo='*' --enablerepo='Kubernetes'"
when: k8s_version is defined
when: k8s_package_version is defined
15 changes: 2 additions & 13 deletions playbooks/roles/k8s/tasks/configure_k8s_master_node.yml
Expand Up @@ -37,17 +37,6 @@
enabled: True
when: master_running == false

- name: set k8s version to default
set_fact:
k8s_version: "v1.9.2"

- name: set k8s version if not defined
set_fact:
k8s_version: "v{{ global_configuration.K8S_VERSION }}"
when:
- global_configuration is defined
- global_configuration.K8S_VERSION is defined

- debug:
msg: "{{ hostvars[inventory_hostname].ansible_all_ipv4_addresses }}"

Expand Down Expand Up @@ -77,15 +66,15 @@

- name: initialize k8s master with listen ip
shell: |
kubeadm init --token-ttl 0 --kubernetes-version {{ k8s_version }} --apiserver-advertise-address {{ listen_ip }} --pod-network-cidr {{ kube_pod_subnet }} &&
kubeadm init --token-ttl 0 --kubernetes-version v{{ k8s_version }} --apiserver-advertise-address {{ listen_ip }} --pod-network-cidr {{ kube_pod_subnet }} &&
mkdir -p $HOME/.kube &&
cp -u /etc/kubernetes/admin.conf $HOME/.kube/config &&
chown -R $(id -u):$(id -g) $HOME/.kube
when: listen_ip is defined and master_running == false

- name: initialize k8s master without listen ip
shell: |
kubeadm init --token-ttl 0 --kubernetes-version {{ k8s_version }} --pod-network-cidr {{ kube_pod_subnet }} &&
kubeadm init --token-ttl 0 --kubernetes-version v{{ k8s_version }} --pod-network-cidr {{ kube_pod_subnet }} &&
mkdir -p $HOME/.kube &&
cp -u /etc/kubernetes/admin.conf $HOME/.kube/config &&
chown -R $(id -u):$(id -g) $HOME/.kube
Expand Down
42 changes: 22 additions & 20 deletions playbooks/roles/k8s/tasks/main.yml
Expand Up @@ -7,55 +7,57 @@
set_fact:
instance_name: "{{ hostvars[inventory_hostname].instance_name }}"

- name: set k8s version for RedHat if not defined
- name: set k8s version to default
set_fact:
k8s_version: "-1.9.2-0"
k8s_version: "1.9.2"
- name: set k8s version from ENV if defined
set_fact:
k8s_version: "{{ global_configuration.K8S_VERSION }}"
when:
- ansible_os_family == 'RedHat'
- instance_data.roles is defined
- instance_data.roles.k8s_master is defined or instance_data.roles.k8s_node is defined
- global_configuration is defined
- global_configuration.K8S_VERSION is defined

- name: set k8s version for RedHat if defined
# dashboard has own set of versions https://github.com/kubernetes/dashboard/tags
# and K8S_VERSION can't be used directly
- name: set k8s dashboard version to default
set_fact:
k8s_dashboard_version: "1.8.3"
- name: set k8s dashboard version if not defined
set_fact:
k8s_version: "-{{ global_configuration.K8S_VERSION }}-0"
k8s_dashboard_version: "{{ global_configuration.K8S_DASHBOARD_VERSION }}"
when:
- ansible_os_family == 'RedHat'
- instance_data.roles is defined
- instance_data.roles.k8s_master is defined or instance_data.roles.k8s_node is defined
- global_configuration is defined
- global_configuration.K8S_VERSION is defined
- global_configuration.K8S_DASHBOARD_VERSION is defined

- name: set k8s version for Debian if not defined
- name: set k8s version for RedHat
set_fact:
k8s_version: "=1.9.2-00"
k8s_package_version: "-{{ k8s_version }}-0"
when:
- ansible_os_family == 'Debian'
- ansible_os_family == 'RedHat'
- instance_data.roles is defined
- instance_data.roles.k8s_master is defined or instance_data.roles.k8s_node is defined

- name: set k8s version for Debian if defined
- name: set k8s version for Debian if not defined
set_fact:
k8s_version: "={{ global_configuration.K8S_VERSION }}-00"
k8s_package_version: "={{ k8s_version }}-00"
when:
- ansible_os_family == 'Debian'
- instance_data.roles is defined
- instance_data.roles.k8s_master is defined or instance_data.roles.k8s_node is defined
- global_configuration is defined
- global_configuration.K8S_VERSION is defined

- name: OS specific package install
include: "{{ ansible_os_family }}.yml"

# kubetcl must be first in the list - kubeadm has dependency to kubectl without version
- name: Install k8s packages if defined
package:
name: "{{ item }}{{ k8s_version }}"
name: "{{ item }}{{ k8s_package_version }}"
state: present
with_items:
- kubectl
- kubelet
- kubeadm
when: k8s_version is defined
when: k8s_package_version is defined

- name: configure k8s master
include: configure_k8s_master_node.yml
Expand Down
2 changes: 1 addition & 1 deletion playbooks/roles/k8s/templates/k8s-dashboard.yaml.j2
Expand Up @@ -115,7 +115,7 @@ spec:
hostNetwork: true
containers:
- name: kubernetes-dashboard
image: k8s.gcr.io/kubernetes-dashboard-amd64:v1.8.3
image: k8s.gcr.io/kubernetes-dashboard-amd64:v{{ k8s_dashboard_version }}
ports:
- containerPort: 8443
protocol: TCP
Expand Down

0 comments on commit 1dd4f07

Please sign in to comment.