|
3 | 3 | become: yes |
4 | 4 |
|
5 | 5 | 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 | | - |
21 | 6 | - name: Retrieve helm binary archive. |
22 | 7 | 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 |
24 | 9 | dest: /tmp |
25 | 10 | creates: /usr/local/bin/helm |
26 | 11 | remote_src: yes |
27 | 12 |
|
28 | 13 | - 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 |
56 | 17 |
|
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" |
63 | 22 |
|
64 | 23 | - 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 |
71 | 36 |
|
72 | 37 | - name: Get the details of the phpmyadmin Service. |
73 | | - k8s: |
| 38 | + community.kubernetes.k8s: |
74 | 39 | api_version: v1 |
75 | 40 | kind: Service |
76 | 41 | name: phpmyadmin |
|
0 commit comments