|
75 | 75 | } |
76 | 76 |
|
77 | 77 | if $cni_network_provider { |
78 | | - if $cni_provider == 'calico-tigera' { |
79 | | - if $cni_network_preinstall { |
80 | | - exec { 'Install cni network (preinstall)': |
81 | | - command => ['kubectl', 'apply', '-f', $cni_network_preinstall], |
| 78 | + case $cni_provider { |
| 79 | + 'calico-tigera': { |
| 80 | + if $cni_network_preinstall { |
| 81 | + exec { 'Install cni network (preinstall)': |
| 82 | + command => ['kubectl', 'apply', '-f', $cni_network_preinstall], |
| 83 | + onlyif => $exec_onlyif, |
| 84 | + unless => 'kubectl -n tigera-operator get deployments | egrep "^tigera-operator"', |
| 85 | + environment => $env, |
| 86 | + before => Exec['Install cni network provider'], |
| 87 | + } |
| 88 | + } |
| 89 | + file { '/etc/kubernetes/calico-installation.yaml': |
| 90 | + ensure => file, |
| 91 | + group => 'root', |
| 92 | + mode => '0400', |
| 93 | + owner => 'root', |
| 94 | + replace => false, |
| 95 | + source => $cni_network_provider, |
| 96 | + } -> file_line { 'Configure calico ipPools.cidr': |
| 97 | + ensure => present, |
| 98 | + path => '/etc/kubernetes/calico-installation.yaml', |
| 99 | + match => ' cidr:', |
| 100 | + line => " cidr: ${cni_pod_cidr}", |
| 101 | + multiple => false, |
| 102 | + replace => true, |
| 103 | + } -> exec { 'Install cni network provider': |
| 104 | + command => 'kubectl apply -f /etc/kubernetes/calico-installation.yaml', |
82 | 105 | onlyif => $exec_onlyif, |
83 | | - unless => 'kubectl -n tigera-operator get deployments | egrep "^tigera-operator"', |
| 106 | + unless => 'kubectl -n calico-system get daemonset | egrep "^calico-node"', |
84 | 107 | environment => $env, |
85 | 108 | before => Exec['Install cni network provider'], |
86 | 109 | } |
87 | 110 | } |
88 | | - file { '/etc/kubernetes/calico-installation.yaml': |
89 | | - ensure => file, |
90 | | - group => 'root', |
91 | | - mode => '0400', |
92 | | - owner => 'root', |
93 | | - replace => false, |
94 | | - source => $cni_network_provider, |
95 | | - } -> file_line { 'Configure calico ipPools.cidr': |
96 | | - ensure => present, |
97 | | - path => '/etc/kubernetes/calico-installation.yaml', |
98 | | - match => ' cidr:', |
99 | | - line => " cidr: ${cni_pod_cidr}", |
100 | | - multiple => false, |
101 | | - replace => true, |
102 | | - } -> exec { 'Install cni network provider': |
103 | | - command => 'kubectl apply -f /etc/kubernetes/calico-installation.yaml', |
104 | | - onlyif => $exec_onlyif, |
105 | | - unless => 'kubectl -n calico-system get daemonset | egrep "^calico-node"', |
106 | | - environment => $env, |
| 111 | + 'flannel': { |
| 112 | + exec { 'Install cni network provider': |
| 113 | + command => ['kubectl', 'apply', '-f', $cni_network_provider], |
| 114 | + onlyif => $exec_onlyif, |
| 115 | + unless => 'kubectl -n kube-flannel get daemonset | egrep "^kube-flannel"', |
| 116 | + environment => $env, |
| 117 | + } |
107 | 118 | } |
108 | | - } else { |
109 | | - exec { 'Install cni network provider': |
110 | | - command => ['kubectl', 'apply', '-f', $cni_network_provider], |
111 | | - onlyif => $exec_onlyif, |
112 | | - unless => 'kubectl -n kube-system get daemonset | egrep "(flannel|weave|calico-node|cilium)"', |
113 | | - environment => $env, |
| 119 | + default: { |
| 120 | + exec { 'Install cni network provider': |
| 121 | + command => ['kubectl', 'apply', '-f', $cni_network_provider], |
| 122 | + onlyif => $exec_onlyif, |
| 123 | + unless => 'kubectl -n kube-system get daemonset | egrep "(flannel|weave|calico-node|cilium)"', |
| 124 | + environment => $env, |
| 125 | + } |
114 | 126 | } |
115 | 127 | } |
116 | 128 | } |
|
0 commit comments