- manage rke2 repos - add rke2 module (init, params, install, config, service) - split roles::infra::k8s::node -> control/compute roles - moved common k8s config into k8s.yaml - add bootstrap_node, manage server and token fields in rke2 config - manage install of helm - manage node attributes (from puppet facts) - manage frr exclusions for service/cluster network Reviewed-on: #394
54 lines
1.6 KiB
Puppet
54 lines
1.6 KiB
Puppet
# install rke2
|
|
class rke2::install (
|
|
Enum['server', 'agent'] $node_type = $rke2::node_type,
|
|
String $rke2_version = $rke2::rke2_version,
|
|
String $rke2_release = $rke2::rke2_release,
|
|
Stdlib::HTTPUrl $container_archive_source = $rke2::container_archive_source,
|
|
){
|
|
|
|
# versionlock rke2
|
|
yum::versionlock{"rke2-${node_type}":
|
|
ensure => present,
|
|
version => "${rke2_version}~${rke2_release}",
|
|
}
|
|
|
|
# install rke2
|
|
package {"rke2-${node_type}":
|
|
ensure => "${rke2_version}~${rke2_release}",
|
|
}
|
|
|
|
# ensure images path exists
|
|
file { ['/var/lib/rancher/rke2/agent', '/var/lib/rancher/rke2/agent/images']:
|
|
ensure => 'directory',
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0750',
|
|
require => Package["rke2-${node_type}"],
|
|
before => Service["rke2-${node_type}"],
|
|
}
|
|
|
|
# download required archive of containers
|
|
archive { '/var/lib/rancher/rke2/agent/images/rke2-images.linux-amd64.tar.zst':
|
|
ensure => present,
|
|
source => "https://github.com/rancher/rke2/releases/download/v${rke2_version}%2B${rke2_release}/rke2-images.linux-amd64.tar.zst",
|
|
require => [
|
|
Package["rke2-${node_type}"],
|
|
File['/var/lib/rancher/rke2/agent/images'],
|
|
],
|
|
before => Service["rke2-${node_type}"],
|
|
}
|
|
|
|
# ensure the images cache file exists
|
|
file {'/var/lib/rancher/rke2/agent/images/.cache.json':
|
|
ensure => file,
|
|
owner => 'root',
|
|
group => 'root',
|
|
mode => '0644',
|
|
require => [
|
|
Package["rke2-${node_type}"],
|
|
File['/var/lib/rancher/rke2/agent/images'],
|
|
],
|
|
before => Service["rke2-${node_type}"],
|
|
}
|
|
}
|