Puppet Class: kubeinstall::install::calico
- Defined in:
- manifests/install/calico.pp
Summary
Install Project Calico CNI serviceOverview
Install Project Calico CNI service
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 |
# File 'manifests/install/calico.pp', line 7
class kubeinstall::install::calico (
String $version = $kubeinstall::calico_cni_version,
Stdlib::Fqdn
$node_name = $kubeinstall::node_name,
Optional[Integer]
$mtu = $kubeinstall::calico_mtu,
Boolean $calicoctl = $kubeinstall::install_calicoctl,
){
# https://docs.projectcalico.org/getting-started/kubernetes/self-managed-onprem/onpremises#install-calico-with-kubernetes-api-datastore-50-nodes-or-less
# https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network
exec { 'calico-install':
command => "kubectl apply -f https://docs.projectcalico.org/${version}/manifests/calico.yaml",
path => '/usr/bin:/bin:/usr/sbin:/sbin',
environment => [
'KUBECONFIG=/etc/kubernetes/admin.conf',
],
onlyif => "kubectl get nodes ${node_name}",
unless => 'kubectl -n kube-system get daemonset calico-node',
}
# MTU
# https://docs.projectcalico.org/networking/mtu#determine-mtu-size
if $mtu {
class { 'kubeinstall::calico::veth_mtu':
mtu => $mtu,
require => Exec['calico-install'],
}
}
file { '/etc/calico':
ensure => directory,
mode => '0700',
owner => 'root',
group => 'root',
}
if $calicoctl {
include kubeinstall::calico::calicoctl
}
}
|