-
Notifications
You must be signed in to change notification settings - Fork 6
/
cluster.erb
170 lines (142 loc) · 3.19 KB
/
cluster.erb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
---
local:
user: "{{ lookup('env','USER') }}"
home: "{{ lookup('env','HOME') }}"
target:
user: "{{ ansible_env['USER'] }}"
home: "{{ ansible_env['HOME'] }}"
root_login: yes # PermitRootLogin
systemd_cgroup: <%= default_systemd_cgroup %> # https://kubernetes.io/ko/docs/setup/production-environment/container-runtimes/
systemd_resolved: <%= default_systemd_resolved %>
nameservers:
- 8.8.8.8
- 8.8.4.4
runtime: <%= default_runrime %>
force_cluster: yes
network_plugin: <%= cni_plugin %>
pod_subnet: 192.168.0.0/16
root_kubeconfig: yes
kubernetes_ver: 1.20.2
version:
runc: 1.0.0-rc95
containerd: 1.6.16 # https://containerd.io/downloads/
docker: 20.10.10
cri_o: "{{ kubernetes_ver | regex_replace('^([0-9]+)\\.([0-9]+).*', '\\1.\\2') }}"
kubelet: "{{ kubernetes_ver }}"
kubeadm: "{{ kubernetes_ver }}"
kubectl: "{{ kubernetes_ver }}"
# dependent
# kubeadm,kubectl (1.11.2 ~ 1.13.4) : kubernetes-cni (0.6.0)
# kubeadm,kubectl (1.13.5 ~ 1.13.6) : kubernetes-cni (0.7.5)
# kubeadm,kubectl (1.14.0 ~ 1.14.2) : kubernetes-cni (0.7.5)
kubernetes_cni: 0.8.7
calico: 3.18
flannel: 0.14.0
canal: 3.14
k9s: 0.24.15
stern: 1.20.0
dashboard: 2.3.1
jenkins: 2.361.3-lts-jdk11
argocd: 2.5.2 # 'stable' if you want to use latest
kaniko: 1.6.0
buildah: latest
podman: latest
skopeo: latest
compose_util:
docker: 1.29.2
podman: latest
kubernetes: 0.6.3
helm: 3.6.3
nginx: 1.21.5
registry: 2.7.1
metallb: 0.10.2
ingress_controller:
nginx: 1.0.0
apt_transport_https: latest
ca_certificates: latest
git: latest
vim: latest
yj: 5.0.0
jq: 1.6
toml_cli: 0.2.3
dashboard:
service_type: LoadBalancer
cicd:
- jenkins
- argocd
jenkins:
service_type: LoadBalancer
volume:
path: /data/jenkins
capacity: 5Gi
storageClassName: jenkins-volume
accessModes:
- ReadWriteOnce
argocd:
ha: yes
service_type: LoadBalancer
builder:
- docker
- kaniko
- buildah
- podman
compose_util:
- docker
- podman
- kubernetes
<% if metallb_ip_range.length() == 0 %>metallb_ip_range: []
<% else %>metallb_ip_range:
<% for range in metallb_ip_range %> - <%= range %>
<% end %><% end %>
ingress_controller:
- name: nginx
service_type: LoadBalancer
git:
auth_store: true
kaniko:
build_entry: Dockerfile
volume:
path: "{{ local['home'] }}/kaniko/build"
capacity: 1Gi
storageClassName: kaniko-volume
accessModes:
- ReadWriteOnce
registry:
docker:
enable: yes
common_name: m1.dev
hosts:
- '@'
- registry
ssl:
enable: yes
cert_pass: docker registry is a private container repository
allow_delete: yes
auth:
enable: yes
file_name: .registry
account:
- name: admin
password: admin
volume:
path: /data/registry
capacity: 5Gi
storageClassName: registry-volume
accessModes:
- ReadWriteOnce
chartmuseum:
enable: yes
ssl:
enable: no
ssl:
force: no
ip_address:
common_name:
hosts: []
ca_cert_pass: vansinetes - Easy k8s cluster creation in virtual machines
sub_cert_pass:
public_key: no
pkcs12: yes # May not work depending on Ansible and Python version
auth:
file_name: {}
account: {}