add roles support for worker nodes
This commit is contained in:
@@ -29,6 +29,7 @@ type Config struct {
|
||||
InventoryDir string
|
||||
Verbose bool
|
||||
KubeconfigFile string
|
||||
Forks string `yaml:"forks" env-default:"10"`
|
||||
InstallationName string `yaml:"installation_name" env-default:"cluster.local"`
|
||||
Credentials struct {
|
||||
User string `yaml:"user"`
|
||||
@@ -37,7 +38,10 @@ type Config struct {
|
||||
PrivateKeyFile string `yaml:"private_key_file"`
|
||||
} `yaml:"credentials"`
|
||||
|
||||
Hosts []Host `yaml:"hosts"`
|
||||
Hosts struct {
|
||||
Masters []Host `yaml:"master"`
|
||||
Workers []Host `yaml:"worker"`
|
||||
} `yaml:"hosts"`
|
||||
|
||||
Orchestrator Orchestrator `yaml:"orchestrator"`
|
||||
|
||||
|
||||
@@ -67,6 +67,7 @@ func runPlaybook(playbookPath string, tags string) {
|
||||
"ANSIBLE_DISPLAY_OK_HOSTS": "false",
|
||||
"ANSIBLE_FORCE_COLOR": "true",
|
||||
"ANSIBLE_HOST_KEY_CHECKING": "false",
|
||||
"ANSIBLE_FORKS": config.Forks,
|
||||
}
|
||||
|
||||
playbookOptions := getPlaybookParameters(tags)
|
||||
|
||||
@@ -1,47 +1,23 @@
|
||||
{{- range .Hosts }}
|
||||
{{- range .Hosts.Masters }}
|
||||
{{ .Hostname }} ansible_host={{ .Ip }} ip={{ .Ip }} {{ if .User }}ansible_user={{ .User }}{{- end }} {{ if .Password }}ansible_ssh_password={{ .Password }}{{- end }}
|
||||
{{- end }}
|
||||
{{- range .Hosts.Workers }}
|
||||
{{ .Hostname }} ansible_host={{ .Ip }} ip={{ .Ip }} {{ if .User }}ansible_user={{ .User }}{{- end }} {{ if .Password }}ansible_ssh_password={{ .Password }}{{- end }}
|
||||
{{- end }}
|
||||
|
||||
[kube_control_plane]
|
||||
{{- range .Hosts }}
|
||||
{{- $search := "control_plane" -}}
|
||||
{{- $found := false -}}
|
||||
{{- range .Roles }}
|
||||
{{- if eq . $search }}
|
||||
{{- $found = true }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if $found }}
|
||||
{{- range .Hosts.Masters }}
|
||||
{{ .Hostname }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
[etcd]
|
||||
{{- range .Hosts }}
|
||||
{{- $search := "etcd" -}}
|
||||
{{- $found := false -}}
|
||||
{{- range .Roles }}
|
||||
{{- if eq . $search }}
|
||||
{{- $found = true }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if $found }}
|
||||
{{- range .Hosts.Masters }}
|
||||
{{ .Hostname }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
|
||||
[kube_node]
|
||||
{{- range .Hosts }}
|
||||
{{- $search := "node" -}}
|
||||
{{- $found := false -}}
|
||||
{{- range .Roles }}
|
||||
{{- if eq . $search }}
|
||||
{{- $found = true }}
|
||||
{{- end }}
|
||||
{{- end }}
|
||||
{{- if $found }}
|
||||
{{ .Hostname }}
|
||||
{{- end }}
|
||||
{{- range .Hosts.Workers }}
|
||||
{{ .Hostname }}{{- if .Roles }} node_taints='[{{- range $i, $role := .Roles }}{{- if $i }},{{- end }}"node-role.kubernetes.io/{{ $role }}:NoSchedule"{{- end }}]' node_labels="{ {{- range $i, $role := .Roles }}{{- if $i }},{{- end }}'node-role.kubernetes.io/{{ $role }}': ''{{- end }} }"{{- end }}
|
||||
{{- end }}
|
||||
|
||||
[all:vars]
|
||||
|
||||
Reference in New Issue
Block a user