Skip to content

Commit 13ee874

Browse files
committed
Fixes #249: Update Helm example in chapter 16.
1 parent efc0786 commit 13ee874

File tree

4 files changed

+34
-93
lines changed

4 files changed

+34
-93
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,4 @@ test.sh
88

99
*/roles/geerlingguy.*
1010
*/provisioning/roles/geerlingguy.*
11+
*/collections/ansible_collections/community/*

kubernetes/examples/helm-cleanup.yml

Lines changed: 5 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -3,41 +3,12 @@
33
become: yes
44

55
tasks:
6-
- name: Get Tiller's ClusterIP.
7-
k8s:
8-
api_version: v1
9-
kind: Service
10-
name: tiller-deploy
11-
namespace: kube-system
12-
register: tiller_service
13-
14-
- name: Set the Helm host and port.
15-
set_fact:
16-
helm_host: "{{ tiller_service.result.spec.clusterIP }}"
17-
helm_port: "{{ tiller_service.result.spec.ports[0].port }}"
18-
19-
- name: Delete phpmyadmin using helm.
20-
command: helm delete --purge phpmyadmin
21-
environment:
22-
HELM_HOST: '{{ helm_host }}:{{ helm_port }}'
23-
24-
- name: Reset Helm.
25-
command: helm reset --force
26-
environment:
27-
HELM_HOST: '{{ helm_host }}:{{ helm_port }}'
28-
29-
- name: Remove Tiller RBAC definition.
30-
k8s:
31-
state: absent
32-
definition: "{{ lookup('file', 'files/tiller-rbac.yml') | from_yaml }}"
33-
34-
- name: Remove Tiller ServiceAccount.
35-
k8s:
6+
- name: Remove phpMyAdmin with Helm.
7+
community.kubernetes.helm:
8+
name: phpmyadmin
9+
chart_ref: bitnami/phpmyadmin
10+
release_namespace: default
3611
state: absent
37-
api_version: v1
38-
kind: ServiceAccount
39-
name: tiller
40-
namespace: kube-system
4112

4213
- name: Delete helm binary.
4314
file:

kubernetes/examples/helm.yml

Lines changed: 21 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -3,74 +3,39 @@
33
become: yes
44

55
tasks:
6-
- name: Create Tiller ServiceAccount.
7-
k8s:
8-
state: present
9-
definition:
10-
apiVersion: v1
11-
kind: ServiceAccount
12-
metadata:
13-
name: tiller
14-
namespace: kube-system
15-
16-
- name: Apply Tiller RBAC definition.
17-
k8s:
18-
state: present
19-
definition: "{{ lookup('file', 'files/tiller-rbac.yml') | from_yaml }}"
20-
216
- name: Retrieve helm binary archive.
227
unarchive:
23-
src: https://storage.googleapis.com/kubernetes-helm/helm-v2.10.0-linux-amd64.tar.gz
8+
src: https://get.helm.sh/helm-v3.2.1-linux-amd64.tar.gz
249
dest: /tmp
2510
creates: /usr/local/bin/helm
2611
remote_src: yes
2712

2813
- name: Move helm binary into place.
29-
command: >
30-
cp /tmp/linux-amd64/helm /usr/local/bin/helm
31-
creates=/usr/local/bin/helm
32-
33-
- name: Set up Helm and Tiller.
34-
command: helm init --service-account tiller
35-
register: helm_init_result
36-
changed_when: "'already installed' not in helm_init_result.stdout"
37-
38-
- name: Get Tiller's ClusterIP.
39-
k8s:
40-
api_version: v1
41-
kind: Service
42-
name: tiller-deploy
43-
namespace: kube-system
44-
register: tiller_service
45-
46-
- name: Set the Helm host and port.
47-
set_fact:
48-
helm_host: "{{ tiller_service.result.spec.clusterIP }}"
49-
helm_port: "{{ tiller_service.result.spec.ports[0].port }}"
50-
51-
- name: Wait for Tiller to become responsive.
52-
wait_for:
53-
host: '{{ helm_host }}'
54-
port: '{{ helm_port }}'
55-
state: started
14+
command: cp /tmp/linux-amd64/helm /usr/local/bin/helm
15+
args:
16+
creates: /usr/local/bin/helm
5617

57-
- name: List installed Helm charts.
58-
command: helm list
59-
environment:
60-
HELM_HOST: '{{ helm_host }}:{{ helm_port }}'
61-
register: helm_list_results
62-
changed_when: False
18+
- name: Add Bitnami's chart repository.
19+
community.kubernetes.helm_repository:
20+
name: bitnami
21+
repo_url: "https://charts.bitnami.com/bitnami"
6322

6423
- name: Install phpMyAdmin with Helm.
65-
command: >
66-
helm install --name phpmyadmin stable/phpmyadmin
67-
--set service.type=NodePort
68-
environment:
69-
HELM_HOST: '{{ helm_host }}:{{ helm_port }}'
70-
when: "'phpmyadmin' not in helm_list_results.stdout"
24+
community.kubernetes.helm:
25+
name: phpmyadmin
26+
chart_ref: bitnami/phpmyadmin
27+
release_namespace: default
28+
values:
29+
service:
30+
type: NodePort
31+
32+
- name: Ensure K8s module dependencies are installed.
33+
pip:
34+
name: openshift
35+
state: present
7136

7237
- name: Get the details of the phpmyadmin Service.
73-
k8s:
38+
community.kubernetes.k8s:
7439
api_version: v1
7540
kind: Service
7641
name: phpmyadmin

kubernetes/requirements.yml

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
---
2-
- src: geerlingguy.swap
3-
- src: geerlingguy.docker
4-
- src: geerlingguy.kubernetes
2+
roles:
3+
- name: geerlingguy.swap
4+
- name: geerlingguy.docker
5+
- name: geerlingguy.kubernetes
6+
7+
collections:
8+
- name: community.kubernetes

0 commit comments

Comments
 (0)