Version information
This version is compatible with:
- Puppet Enterprise 2023.8.x, 2023.7.x, 2023.6.x, 2023.5.x, 2023.4.x, 2023.3.x, 2023.2.x, 2023.1.x, 2023.0.x, 2021.7.x, 2021.6.x, 2021.5.x, 2021.4.x, 2021.3.x, 2021.2.x, 2021.1.x, 2021.0.x, 2019.8.x, 2019.7.x, 2019.5.x, 2019.4.x, 2019.3.x, 2019.2.x, 2019.1.x, 2019.0.x, 2018.1.x
- Puppet >= 5.5.0 < 9.0.0
- ,
Tasks:
- cgroup2
Plans:
- cgroup2
- containerd
- setup
Start using this module
Add this module to your Puppetfile:
mod 'aursu-kubeinstall', '0.41.3'
Learn more about managing modules with a PuppetfileDocumentation
kubeinstall
Kubernetes cluster installation following kubernetes.io installation Guide
Table of Contents
- Description
- Setup - The basics of getting started with kubeinstall
- Usage - Configuration options and additional functionality
- Limitations - OS compatibility, etc.
- Development - Guide for contributing to the module
Description
Module has ability to setup Kubernetes control plain host (included base
profile kubeinstall::profile::controller
), Kubernetes worker host (using base
profile kubeinstall::install::worker
)
It supports atomatic Kubernetes cluster setup using Puppet exported resources via PuppetDB
Setup
What kubeinstall affects OPTIONAL
Module install Kubernetes components including kubeadm
and its configuration
for proper Nodes bootstrap.
Also it by default:
- disable swap (see
kubeinstall::system::swap
), - disable firewalld (see
kubeinstall::system::firewall::noop
), - disable selinux (see
kubeinstall::system::selinux::noop
), - set kernel settings for iptables (see
kubeinstall::system::sysctl::net_bridge
) - install CRI-O as CRI (see
kubeinstall::runtime::crio
). Also Docker CRI is available viakubeinstall::runtime::docker
- install Calico as CNI (see
kubeinstall::install::calico
) - install Kubernetes Dashboard UI on controller (see
kubeinstall::install::dashboard
)
Setup Requirements OPTIONAL
CentOS 7
operating system or similar.
Beginning with kubeinstall
Usage
In order to use kubeinstall and setup yoour controller node it is enough to create such Puppet profile:
class profile::kubernetes::controller {
class { 'kubeinstall::profile::kubernetes': }
class { 'kubeinstall::profile::controller': }
}
and for worker node:
class profile::kubernetes::worker {
class { 'kubeinstall::profile::kubernetes': }
class { 'kubeinstall::profile::worker': }
}
In order to setup settings it is possible to use Hiera:
kubeinstall::cluster_name: projectname
kubeinstall::control_plane_endpoint: kube.intern.domain.tld
Cluster features
Class kubeinstall::cluster
is responsible for bootstrap token exchange between
controller and worker nodes (for worker bootstrap). For this PuppetDB is required
because exported resource (kubeinstall::token_discovery
) and exported resources
collector (implemnted via custom function kubeinstall::discovery_hosts
) are
in use.
Also there is a feature of exporting local PersistentVolume resources from worker
nodes into controller directory /etc/kubectl/manifests/persistentvolumes
.
To activate it is required to setup properly flag kubeinstall::cluster::cluster_role
on both worker and controller hosts and provide all requirements to export PVs on
worker node.
Reference
See REFERENCE.md for reference
Limitations
Development
Release Notes/Contributors/Etc. Optional
Reference
Table of Contents
Classes
kubeinstall
: A short summary of the purpose of this classkubeinstall::calico::calicoctl
: Installing calicoctl as a binary on a single hostkubeinstall::calico::veth_mtu
: Configure Calico MTUkubeinstall::cluster
: Cluster resources definition, export and importkubeinstall::etcd::backup
: Backing up an etcd clusterkubeinstall::install
: A short summary of the purpose of this classkubeinstall::install::calico
: Install Project Calico CNI servicekubeinstall::install::controller
: kubernetes installation on controller nodekubeinstall::install::dashboard
: Install Kubernetes dashboardkubeinstall::install::helm
: Helm client installationkubeinstall::install::helm_binary
: Helm client installationkubeinstall::install::node
: A short summary of the purpose of this classkubeinstall::install::worker
: Kubernetes installation on worker nodekubeinstall::kubeadm::config
: A short summary of the purpose of this classkubeinstall::kubeadm::init_command
: A short summary of the purpose of this classkubeinstall::kubeadm::join_command
: Kubernetes kubeadm join commandkubeinstall::kubeadm::join_config
: Kubernetes kubeadm join command configurationkubeinstall::params
: A short summary of the purpose of this classkubeinstall::profile::controller
: Kubernetes conntroller setupkubeinstall::profile::kubernetes
: Base setup for any kubernetes nodekubeinstall::profile::worker
: A short summary of the purpose of this classkubeinstall::repos
: Setup Kubernetes repositorieskubeinstall::repos::crio
: CRI-O repository setupkubeinstall::runtime
: Kubernetes CRI setupkubeinstall::runtime::crio
: CRI-O container runtime installationkubeinstall::runtime::crio::config
: CRI-O configuration file setupkubeinstall::runtime::crio::install
: CRI-O packages installationkubeinstall::runtime::crio::service
: CRI-O service managementkubeinstall::runtime::docker
: Docker container runtime setupkubeinstall::service
: A short summary of the purpose of this classkubeinstall::service::stop
: Stop kubelet servicekubeinstall::system
: A short summary of the purpose of this classkubeinstall::system::bridged_traffic
: Load netfilter bridge kernel modulekubeinstall::system::firewall::noop
: Disable firewalld servicekubeinstall::system::overlay
: Load overlay kernel module to support Overlay FSkubeinstall::system::selinux::noop
: Set selinux in permissive modekubeinstall::system::swap
: Disable swap on the systemkubeinstall::system::sysctl::ip_forward
: Enable IPv4 forwardingkubeinstall::system::sysctl::net_bridge
: Setup bridged traffic processing with iptables
Defined types
kubeinstall::resource::pv
: Create a PersistentVolume objectkubeinstall::resource::pv::local
: Local persistent storage volumekubeinstall::resource::secret
: Kubernetes Secrets objectkubeinstall::token_discovery
: Token discovery resource
Resource types
kubeadm_token
: Bootstrap tokens are a simple bearer token that is meant to be used when creating new clusters or joining new nodes to an existing cluster
Functions
Data types
Kubeinstall::Address
Kubeinstall::BinaryQuantity
Kubeinstall::CACertHash
Kubeinstall::CgroupDriver
Kubeinstall::DNSLabel
Kubeinstall::DNSName
Kubeinstall::DNSSubdomain
: https://kubernetes.io/docs/concepts/overview/working-with-objects/names#dns-subdomain-names contain no more than 253 characters contain onlyKubeinstall::DecimalQuantity
Kubeinstall::ExponentQuantity
Kubeinstall::Label
: Labels are key/value pairs. Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segmentKubeinstall::LocalPV
Kubeinstall::MatchExpression
Kubeinstall::MatchExpressionExists
Kubeinstall::MatchExpressionIn
Kubeinstall::MatchExpressionNum
Kubeinstall::Metadata
: https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#objectmeta-v1-metaKubeinstall::Name
Kubeinstall::NodeSelectorTerms
Kubeinstall::Port
: 65535Kubeinstall::Quantity
: https://godoc.org/k8s.io/apimachinery/pkg/api/resource#Quantity ::= (Note that may be empty, fromKubeinstall::Range5X
: 1-99999Kubeinstall::Release
Kubeinstall::Runtime
Kubeinstall::Token
Kubeinstall::TokenTTL
Kubeinstall::Version
: https://kubernetes.io/docs/setup/release/version-skew-policy/
Classes
kubeinstall
A description of what this class does
Examples
include kubeinstall
Parameters
The following parameters are available in the kubeinstall
class.
web_ui_dashboard
Data type: Boolean
Whether to install Web UI on controller node or not
kubernetes_version
Data type: Kubeinstall::Version
container_runtime
Data type: Kubeinstall::Runtime
dockerd_version
Data type: String
containerd_version
Data type: String
crio_version
Data type: String
manage_kernel_modules
Data type: Boolean
manage_sysctl_settings
Data type: Boolean
disable_swap
Data type: Boolean
disable_firewall
Data type: Boolean
disable_selinux
Data type: Boolean
calico_cni_version
Data type: String
join_control_plane
Data type: Boolean
join_token
Data type: Optional[Kubeinstall::Token]
join_ca_cert_hash
Data type: Optional[Kubeinstall::CACertHash]
join_apiserver_address
Data type: Optional[Kubeinstall::Address]
cgroup_driver
Data type: Kubeinstall::CgroupDriver
join_apiserver_port
Data type: Integer
control_plane_endpoint
Data type: Optional[Kubeinstall::Address]
docker_mtu
Data type: Optional[Integer]
network_bridge_ip
Data type: Optional[String]
calico_mtu
Data type: Optional[Integer]
cluster_name
Data type: String
install_calicoctl
Data type: Boolean
calicoctl_version
Data type: String
helm_version
Data type: String
node_name
Data type: Stdlib::Fqdn
Default value: $facts['networking']['fqdn']
apiserver_advertise_address
Data type: String
Default value: $facts['networking']['ip']
apiserver_bind_port
Data type: Integer
Default value: $kubeinstall::params::apiserver_bind_port
cri_socket
Data type: Stdlib::Unixpath
Default value: $container_runtime
service_dns_domain
Data type: Stdlib::Fqdn
Default value: $kubeinstall::params::service_dns_domain
service_cidr
Data type: Stdlib::IP::Address
Default value: $kubeinstall::params::service_cidr
service_node_port_range
Data type: String
Default value: $kubeinstall::params::service_node_port_range
dashboard_configuration
Data type: Variant[ Stdlib::HTTPUrl, Stdlib::Unixpath ]
Default value: $kubeinstall::params::dashboard_configuration
kubeinstall::calico::calicoctl
Installing calicoctl as a binary on a single host https://docs.projectcalico.org/getting-started/clis/calicoctl/install#installing-calicoctl-as-a-binary-on-a-single-host
Examples
include kubeinstall::calico::calicoctl
Parameters
The following parameters are available in the kubeinstall::calico::calicoctl
class.
version
Data type: String
Default value: $kubeinstall::calicoctl_version
kubeinstall::calico::veth_mtu
Configure Calico MTU see # https://docs.projectcalico.org/networking/mtu#determine-mtu-size
Examples
include kubeinstall::calico::veth_mtu
Parameters
The following parameters are available in the kubeinstall::calico::veth_mtu
class.
mtu
Data type: Integer
Default value: $kubeinstall::calico_mtu
kubeinstall::cluster
Cluster resources definition, export and import
Examples
include kubeinstall::cluster
Parameters
The following parameters are available in the kubeinstall::cluster
class.
cluster_role
Data type: Optional[Enum['controller', 'worker']]
Role inside cluster - either 'worker' or 'controller'
Default value: undef
apiserver_address
Data type: Kubeinstall::Address
Default value: $kubeinstall::apiserver_advertise_address
apiserver_port
Data type: Integer
Default value: $kubeinstall::apiserver_bind_port
cluster_name
Data type: String
Default value: $kubeinstall::cluster_name
ca_cert_hash
Data type: Optional[Kubeinstall::CACertHash]
Default value: $facts['kubeadm_discovery_token_ca_cert_hash']
local_persistent_volumes
Data type: Hash[Kubeinstall::DNSSubdomain, Kubeinstall::LocalPV]
Default value: {}
kubeinstall::etcd::backup
Backing up an etcd cluster
Examples
include kubeinstall::etcd::backup
kubeinstall::install
A description of what this class does
Examples
include kubeinstall::install
Parameters
The following parameters are available in the kubeinstall::install
class.
kubernetes_version
Data type: Kubeinstall::Version
Default value: $kubeinstall::kubernetes_version
kubeinstall::install::calico
Install Project Calico CNI service
Examples
include kubeinstall::install::calico
Parameters
The following parameters are available in the kubeinstall::install::calico
class.
version
Data type: String
Default value: $kubeinstall::calico_cni_version
node_name
Data type: Stdlib::Fqdn
Default value: $kubeinstall::node_name
mtu
Data type: Optional[Integer]
Default value: $kubeinstall::calico_mtu
calicoctl
Data type: Boolean
Default value: $kubeinstall::install_calicoctl
kubeinstall::install::controller
kubernetes installation on controller node
Examples
include kubeinstall::install::controller
Parameters
The following parameters are available in the kubeinstall::install::controller
class.
web_ui_dashboard
Data type: Boolean
Default value: $kubeinstall::web_ui_dashboard
kubeinstall::install::dashboard
Install Kubernetes dashboard
Examples
include kubeinstall::install::dashboard
Parameters
The following parameters are available in the kubeinstall::install::dashboard
class.
dashboard_configuration
Data type: Variant[ Stdlib::HTTPUrl, Stdlib::Unixpath ]
Default value: $kubeinstall::dashboard_configuration
node_name
Data type: Stdlib::Fqdn
Default value: $kubeinstall::node_name
kubeinstall::install::helm
Helm client installation
Examples
include kubeinstall::install::helm
Parameters
The following parameters are available in the kubeinstall::install::helm
class.
version
Data type: String
Default value: $kubeinstall::helm_version
helm_install_path
Data type: Stdlib::Unixpath
Default value: '/usr/local/bin'
helm_client_only
Data type: Boolean
Default value: true
kubeinstall::install::helm_binary
Helm client installation
Examples
include kubeinstall::install::helm_binary
Parameters
The following parameters are available in the kubeinstall::install::helm_binary
class.
version
Data type: String
Default value: $kubeinstall::helm_version
kubeinstall::install::node
A description of what this class does
Examples
include kubeinstall::install::node
kubeinstall::install::worker
Kubernetes installation on worker node
Examples
include kubeinstall::install::worker
kubeinstall::kubeadm::config
A description of what this class does
Examples
include kubeinstall::kubeadm::config
Parameters
The following parameters are available in the kubeinstall::kubeadm::config
class.
cri_socket
Data type: Stdlib::Unixpath
CRISocket is used to retrieve container runtime info. This information will be annotated to the Node API object, for later re-use
Default value: $kubeinstall::cri_socket
service_node_port_range
Data type: Kubeinstall::Range5X
A port range to reserve for services with NodePort visibility. Example: '30000-32767'. Inclusive at both ends of the range.
Default value: $kubeinstall::service_node_port_range
bootstrap_token
Data type: Optional[Kubeinstall::Token]
Default value: undef
token_ttl
Data type: String[2]
Default value: '24h0m0s'
apiserver_advertise_address
Data type: Kubeinstall::Address
Default value: $kubeinstall::apiserver_advertise_address
apiserver_bind_port
Data type: Integer
Default value: $kubeinstall::apiserver_bind_port
node_name
Data type: Stdlib::Fqdn
Default value: $kubeinstall::node_name
cluster_name
Data type: String
Default value: $kubeinstall::cluster_name
kubernetes_version
Data type: Kubeinstall::Version
Default value: $kubeinstall::kubernetes_version
service_dns_domain
Data type: Stdlib::Fqdn
Default value: $kubeinstall::service_dns_domain
service_cidr
Data type: Stdlib::IP::Address
Default value: $kubeinstall::service_cidr
control_plane_endpoint
Data type: Optional[Kubeinstall::Address]
Default value: $kubeinstall::control_plane_endpoint
cgroup_driver
Data type: Kubeinstall::CgroupDriver
Default value: $kubeinstall::cgroup_driver
kubeinstall::kubeadm::init_command
A description of what this class does see https://kubernetes.io/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/
Examples
include kubeinstall::kubeadm::init_command
Parameters
The following parameters are available in the kubeinstall::kubeadm::init_command
class.
node_name
Data type: Stdlib::Fqdn
Default value: $kubeinstall::node_name
kubeinstall::kubeadm::join_command
Kubernetes kubeadm join command
Examples
include kubeinstall::kubeadm::join_command
Parameters
The following parameters are available in the kubeinstall::kubeadm::join_command
class.
join_token
Data type: Optional[Kubeinstall::Token]
Use this token for both discovery-token and tls-bootstrap-token in
kubeadm join
command
Default value: $kubeinstall::join_token
join_ca_cert_hash
Data type: Optional[Kubeinstall::CACertHash]
For token-based discovery, validate that the root CA public key matches this hash. The root CA found during discovery must match this value
Default value: $kubeinstall::join_ca_cert_hash
join_apiserver_address
Data type: Optional[Kubeinstall::Address]
API server andpoint address
Default value: $kubeinstall::join_apiserver_address
join_apiserver_port
Data type: Integer
Default value: $kubeinstall::join_apiserver_port
control_plane
Data type: Boolean
Default value: $kubeinstall::join_control_plane
kubeinstall::kubeadm::join_config
Kubernetes kubeadm join command configuration
Examples
include kubeinstall::kubeadm::join_config
Parameters
The following parameters are available in the kubeinstall::kubeadm::join_config
class.
apiserver_advertise_address
Data type: Kubeinstall::Address
If the node should host a new control plane instance, the IP address the API Server will advertise it's listening on
Default value: $kubeinstall::apiserver_advertise_address
apiserver_bind_port
Data type: Integer
If the node should host a new control plane instance, the port for the API Server to bind to.
Default value: $kubeinstall::apiserver_bind_port
control_plane
Data type: Boolean
Whether to create a new control plane instance on this node
Default value: $kubeinstall::join_control_plane
token
Data type: Kubeinstall::Token
ca_cert_hash
Data type: Kubeinstall::CACertHash
apiserver_address
Data type: Kubeinstall::Address
apiserver_port
Data type: Integer
Default value: $kubeinstall::join_apiserver_port
cri_socket
Data type: Stdlib::Unixpath
Default value: $kubeinstall::cri_socket
node_name
Data type: Stdlib::Fqdn
Default value: $kubeinstall::node_name
cgroup_driver
Data type: Kubeinstall::CgroupDriver
Default value: $kubeinstall::cgroup_driver
kubeinstall::params
A description of what this class does
Examples
include kubeinstall::params
kubeinstall::profile::controller
Kubernetes conntroller setup
Examples
include kubeinstall::profile::controller
Parameters
The following parameters are available in the kubeinstall::profile::controller
class.
helm_client
Data type: Boolean
Whether to install Helm client binary or not
Default value: true
kubeinstall::profile::kubernetes
Base setup for any kubernetes node
Examples
include kubeinstall::profile::kubernetes
kubeinstall::profile::worker
A description of what this class does
Examples
include kubeinstall::profile::worker
Parameters
The following parameters are available in the kubeinstall::profile::worker
class.
local_persistent_volumes
Data type: Hash[String, Hash]
Added ability for cluster administrator to setup local persistent volumes into Kubernetes cluster. This hash should containn only volumes located on currennt worker node.
Default value: {}
kubeinstall::repos
Setup Kubernetes repositories
Examples
include kubeinstall::repos
kubeinstall::repos::crio
CRI-O repository setup
Examples
include kubeinstall::repos::crio
Parameters
The following parameters are available in the kubeinstall::repos::crio
class.
kuberel
Data type: Kubeinstall::Release
Default value: $kubeinstall::kubernetes_release
kubeinstall::runtime
Kubernetes CRI setup
Examples
include kubeinstall::runtime
Parameters
The following parameters are available in the kubeinstall::runtime
class.
container_runtime
Data type: Kubeinstall::Runtime
Default value: $kubeinstall::container_runtime
docker_decomission
Data type: Boolean
Default value: true
kubeinstall::runtime::crio
CRI-O container runtime installation see https://kubernetes.io/docs/setup/production-environment/container-runtimes/#cri-o
Examples
include kubeinstall::runtime::crio
kubeinstall::runtime::crio::config
CRI-O configuration file setup
Examples
include kubeinstall::runtime::crio::config
kubeinstall::runtime::crio::install
CRI-O packages installation
Examples
include kubeinstall::runtime::crio::install
Parameters
The following parameters are available in the kubeinstall::runtime::crio::install
class.
crio_version
Data type: String
Default value: $kubeinstall::crio_version
kubeinstall::runtime::crio::service
CRI-O service management
Examples
include kubeinstall::runtime::crio::service
kubeinstall::runtime::docker
Use Docker as container runtime for Kubernetes see https://kubernetes.io/docs/setup/production-environment/container-runtimes/#docker
Examples
include kubeinstall::runtime::docker
Parameters
The following parameters are available in the kubeinstall::runtime::docker
class.
network_bridge_ip
Data type: Optional[String]
Default bridge network address (conform to daemon.json bip parameter)
Default value: $kubeinstall::network_bridge_ip
dockerd_version
Data type: String
Default value: $kubeinstall::dockerd_version
containerd_version
Data type: String
Default value: $kubeinstall::containerd_version
mtu
Data type: Optional[Integer]
Default value: $kubeinstall::docker_mtu
kubeinstall::service
A description of what this class does
Examples
include kubeinstall::service
kubeinstall::service::stop
Stop kubelet service
Examples
include kubeinstall::service::stop
kubeinstall::system
A description of what this class does
Examples
include kubeinstall::system
Parameters
The following parameters are available in the kubeinstall::system
class.
disable_swap
Data type: Boolean
Default value: $kubeinstall::disable_swap
disable_firewall
Data type: Boolean
Default value: $kubeinstall::disable_firewall
disable_selinux
Data type: Boolean
Default value: $kubeinstall::disable_selinux
kubeinstall::system::bridged_traffic
Load netfilter bridge kernel module
Examples
include kubeinstall::system::bridged_traffic
Parameters
The following parameters are available in the kubeinstall::system::bridged_traffic
class.
manage_kernel_modules
Data type: Boolean
Default value: $kubeinstall::manage_kernel_modules
kubeinstall::system::firewall::noop
Disable firewalld service
Examples
include kubeinstall::system::firewall::noop
kubeinstall::system::overlay
Load overlay kernel module to support Overlay FS
Examples
include kubeinstall::system::overlay
Parameters
The following parameters are available in the kubeinstall::system::overlay
class.
manage_kernel_modules
Data type: Boolean
Default value: $kubeinstall::manage_kernel_modules
kubeinstall::system::selinux::noop
Set selinux in permissive mode
Examples
include kubeinstall::system::selinux::noop
kubeinstall::system::swap
Disable swap on the system
Examples
include kubeinstall::system::swap
kubeinstall::system::sysctl::ip_forward
Enable IPv4 forwarding
Examples
include kubeinstall::system::sysctl::ip_forward
Parameters
The following parameters are available in the kubeinstall::system::sysctl::ip_forward
class.
manage_sysctl_settings
Data type: Boolean
Default value: $kubeinstall::manage_sysctl_settings
kubeinstall::system::sysctl::net_bridge
Setup bridged traffic processing with iptables
Examples
include kubeinstall::system::sysctl::net_bridge
Parameters
The following parameters are available in the kubeinstall::system::sysctl::net_bridge
class.
manage_sysctl_settings
Data type: Boolean
Default value: $kubeinstall::manage_sysctl_settings
Defined types
kubeinstall::resource::pv
Create a PersistentVolume object https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#persistentvolume-v1-core
Examples
kubeinstall::resource::pv { 'namevar': }
Parameters
The following parameters are available in the kubeinstall::resource::pv
defined type.
local_path
Data type: Optional[Stdlib::Unixpath]
The full path to the volume on the node. It can be either a directory or block device (disk, partition, ...)
Default value: undef
match_expressions
Data type: Kubeinstall::NodeSelectorTerms
A list of node selector requirements by node's labels correspond to nodeAffinity.required.nodeSelectorTerms.matchExpressions see https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#nodeselectorterm-v1-core
Default value: []
match_fields
Data type: Kubeinstall::NodeSelectorTerms
A list of node selector requirements by node's fields correspond to nodeAffinity.required.nodeSelectorTerms.matchFields
Default value: []
volume_storage
Data type: Kubeinstall::Quantity
volume_name
Data type: Kubeinstall::DNSName
Default value: $title
volume_mode
Data type: Enum['Filesystem', 'Block']
Default value: 'Filesystem'
access_modes
Data type: Array[Enum['ReadWriteOnce', 'ReadOnlyMany', 'ReadWriteMany']]
Default value: ['ReadWriteOnce']
reclaim_policy
Data type: Enum['Delete', 'Retain', 'Recycle']
Default value: 'Delete'
storage_class_name
Data type: Optional[String]
Default value: undef
kubeinstall::resource::pv::local
Local persistent storage volume
Examples
kubeinstall::resource::pv::local { 'namevar': }
Parameters
The following parameters are available in the kubeinstall::resource::pv::local
defined type.
volume_storage
Data type: String
path
Data type: String
hostname
Data type: Stdlib::Fqdn
storage_class_name
Data type: Optional[String]
Default value: undef
kubeinstall::resource::secret
Kubernetes Secrets let you store and manage sensitive information https://kubernetes.io/docs/concepts/configuration/secret/
Examples
kubeinstall::resource::secret { 'namevar': }
Parameters
The following parameters are available in the kubeinstall::resource::secret
defined type.
metadata
Data type: Kubeinstall::Metadata
Standard object's metadata. Available fields are annotations, labels, and namespace
Default value: {}
data
Data type: Hash[ Kubeinstall::Name, Stdlib::Base64 ]
Data contains the secret data. Each key must consist of alphanumeric characters, '-', '_' or '.'. The serialized form of the secret data is a base64 encoded string, representing the arbitrary (possibly non-string) data value here
Default value: {}
raw_data
Data type: Hash[Kubeinstall::Name, String]
Same as parameter data
but values should be in raw form and will be
serialized in there
Default value: {}
string_data
Data type: Hash[Kubeinstall::Name, String]
stringData allows specifying non-binary secret data in string form. It is provided as a write-only convenience method. All keys and values are merged into the data field on write, overwriting any existing values. It is never output when reading from the API.
Default value: {}
object_name
Data type: Kubeinstall::DNSName
Default value: $title
type
Data type: Enum[ 'Opaque', # arbitrary user-defined data 'kubernetes.io/service-account-token', # service account token 'kubernetes.io/dockercfg', # serialized ~/.dockercfg file 'kubernetes.io/dockerconfigjson', # serialized ~/.docker/config.json file 'kubernetes.io/basic-auth', # credentials for basic authentication 'kubernetes.io/ssh-auth', # credentials for SSH authentication 'kubernetes.io/tls', # data for a TLS client or server 'bootstrap.kubernetes.io/token' # bootstrap token data ]
Default value: 'Opaque'
kubeinstall::token_discovery
Resource to export into PuppetDB for distributing k8s join credentials among cluster nodes
Examples
kubeinstall::token_discovery { 'o9o8vw.fe02deotcm0dv8z5': }
Parameters
The following parameters are available in the kubeinstall::token_discovery
defined type.
ca_cert_hash
Data type: Kubeinstall::CACertHash
token
Data type: Kubeinstall::Token
Default value: $name
apiserver_address
Data type: Kubeinstall::Address
Default value: $kubeinstall::apiserver_advertise_address
apiserver_port
Data type: Integer
Default value: $kubeinstall::apiserver_bind_port
cluster_name
Data type: String
Default value: $kubeinstall::cluster_name
Resource types
kubeadm_token
Bootstrap tokens are a simple bearer token that is meant to be used when creating new clusters or joining new nodes to an existing cluster
Properties
The following properties are available in the kubeadm_token
type.
auth_extra_groups
Valid values: %r{^system:bootstrappers:[a-z0-9:-]{0,255}[a-z0-9]$}
Extra groups to authenticate the token as
description
Human readable description
ensure
Valid values: present
, absent
Create or remove token.
Default value: present
id
Valid values: %r{^[a-z0-9]{6}$}
Token ID
secret
Valid values: %r{^[a-z0-9]{6}$}
Token Secret
ttl
Valid values: %r{^([0-9]+h)?([1-5]?[0-9]m)?([1-5]?[0-9]s)?$}
, 0
, 0
Controls the expiry of the token
Default value: 24h0m0s
Parameters
The following parameters are available in the kubeadm_token
type.
bootstrap_authentication
Valid values: true
, false
, yes
, no
Indicates that the token can be used to authenticate to the API server as a bearer token
Default value: true
bootstrap_signing
Valid values: true
, false
, yes
, no
Indicates that the token may be used to sign the cluster-info ConfigMap
Default value: true
name
Valid values: %r{^(bootstrap-token-)?[a-z0-9]{6}$}
, default
namevar
Token Name
provider
The specific backend to use for this kubeadm_token
resource. You will seldom need to specify this --- Puppet will
usually discover the appropriate provider for your platform.
Functions
kubeinstall::discovery_hosts
Type: Ruby 4.x API
The kubeinstall::discovery_hosts function.
kubeinstall::discovery_hosts(String $lookup_type, Optional[Array] $equery)
The kubeinstall::discovery_hosts function.
Returns: Any
lookup_type
Data type: String
equery
Data type: Optional[Array]
kubeinstall::discovery_hosts(String $lookup_type, String $lookup_param, Optional[Array] $equery)
The kubeinstall::discovery_hosts function.
Returns: Any
lookup_type
Data type: String
lookup_param
Data type: String
equery
Data type: Optional[Array]
kubeinstall::discovery_hosts(String $lookup_type, Array[String] $lookup_param, Optional[Array] $equery)
The kubeinstall::discovery_hosts function.
Returns: Any
lookup_type
Data type: String
lookup_param
Data type: Array[String]
equery
Data type: Optional[Array]
Data types
Kubeinstall::Address
The Kubeinstall::Address data type.
Alias of Variant[Stdlib::Fqdn, Stdlib::IP::Address::Nosubnet]
Kubeinstall::BinaryQuantity
The Kubeinstall::BinaryQuantity data type.
Alias of Pattern[/^[+-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)[KMGTPE]i$/]
Kubeinstall::CACertHash
The Kubeinstall::CACertHash data type.
Alias of Pattern[/^sha256:[0-9a-f]{64}$/]
Kubeinstall::CgroupDriver
The Kubeinstall::CgroupDriver data type.
Alias of Enum['systemd', 'cgroupfs']
Kubeinstall::DNSLabel
The Kubeinstall::DNSLabel data type.
Alias of Pattern[/^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/]
Kubeinstall::DNSName
The Kubeinstall::DNSName data type.
Alias of Pattern[/^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\.)*[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$/]
Kubeinstall::DNSSubdomain
https://kubernetes.io/docs/concepts/overview/working-with-objects/names#dns-subdomain-names contain no more than 253 characters contain only lowercase alphanumeric characters, '-' or '.' start with an alphanumeric character end with an alphanumeric character
Alias of Pattern[/^[a-z0-9]([.a-z0-9-]{0,251}[a-z0-9])?$/]
Kubeinstall::DecimalQuantity
The Kubeinstall::DecimalQuantity data type.
Alias of Pattern[/^[+-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)[mkMGTPE]?$/]
Kubeinstall::ExponentQuantity
The Kubeinstall::ExponentQuantity data type.
Alias of Pattern[/^[+-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)[eE][+-]?([0-9]+(\.[0-9]*)?|\.[0-9]+)$/]
Kubeinstall::Label
Labels are key/value pairs. Valid annotation keys have two segments: an optional prefix and name, separated by a slash (/). The name segment is required and must be 63 characters or less, beginning and ending with an alphanumeric character ([a-z0-9A-Z]) with dashes (-), underscores (_), dots (.), and alphanumerics between. The prefix is optional. If specified, the prefix must be a DNS subdomain: a series of DNS labels separated by dots (.), not longer than 253 characters in total, followed by a slash (/).
Alias of Pattern[/^([a-z0-9]([.a-z0-9-]{0,251}[a-z0-9])?\/)?[a-z0-9A-Z]([_.a-z0-9A-Z-]{0,61}[a-z0-9A-Z])?$/]
Kubeinstall::LocalPV
The Kubeinstall::LocalPV data type.
Alias of Struct[{ path => Stdlib::Unixpath, volume_storage => Kubeinstall::Quantity, name => Optional[Kubeinstall::DNSName], hostname => Optional[Stdlib::Fqdn], storage_class_name => Optional[String], }]
Kubeinstall::MatchExpression
The Kubeinstall::MatchExpression data type.
Alias of Variant[Kubeinstall::MatchExpressionIn, Kubeinstall::MatchExpressionExists, Kubeinstall::MatchExpressionNum]
Kubeinstall::MatchExpressionExists
The Kubeinstall::MatchExpressionExists data type.
Alias of Struct[{ key => String, operator => Enum['Exists', 'DoesNotExist'], values => Array[String, 0, 0], }]
Kubeinstall::MatchExpressionIn
The Kubeinstall::MatchExpressionIn data type.
Alias of Struct[{ key => String, operator => Enum['In', 'NotIn'], values => Array[String, 1], }]
Kubeinstall::MatchExpressionNum
The Kubeinstall::MatchExpressionNum data type.
Alias of Struct[{ key => String, operator => Enum['Gt', 'Lt'], values => Array[Pattern[/^[0-9]+$/], 1, 1], }]
Kubeinstall::Metadata
https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.19/#objectmeta-v1-meta
Alias of Struct[{ annotations => Optional[Hash[Kubeinstall::Label, String]], labels => Optional[ Hash[ Kubeinstall::Label, Variant[Enum[''], Kubeinstall::DNSLabel] ] ], namespace => Optional[Kubeinstall::DNSLabel], }]
Parameters
The following parameters are available in the Kubeinstall::Metadata
data type.
annotations
Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata.
Kubeinstall::Name
The Kubeinstall::Name data type.
Alias of Pattern[/^[_.a-z0-9A-Z-]+$/]
Kubeinstall::NodeSelectorTerms
The Kubeinstall::NodeSelectorTerms data type.
Alias of Array[Kubeinstall::MatchExpression]
Kubeinstall::Port
65535
Alias of Pattern[/^(655([0-2][0-9]|3[0-5])|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{,3})$/]
Kubeinstall::Quantity
https://godoc.org/k8s.io/apimachinery/pkg/api/resource#Quantity
::= (Note that may be empty, from the "" case in .) ::= 0 | 1 | … | 9 ::= | ::= | . | . | . ::= "+" | "-" ::= | ::= | | ::= Ki | Mi | Gi | Ti | Pi | Ei (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html) ::= m | "" | k | M | G | T | P | E (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.) ::= "e" | "E"
Alias of Variant[Kubeinstall::BinaryQuantity, Kubeinstall::DecimalQuantity, Kubeinstall::ExponentQuantity]
Kubeinstall::Range5X
1-99999
Alias of Pattern[/^[1-9][0-9]{,4}-[1-9][0-9]{,4}$/]
Kubeinstall::Release
The Kubeinstall::Release data type.
Alias of Variant[Pattern[/^1\.1[6-9]/], Pattern[/^1\.2[01]/]]
Kubeinstall::Runtime
The Kubeinstall::Runtime data type.
Alias of Enum['containerd', 'cri-o', 'docker']
Kubeinstall::Token
The Kubeinstall::Token data type.
Alias of Pattern[/^[a-z0-9]{6}.[a-z0-9]{16}$/]
Kubeinstall::TokenTTL
The Kubeinstall::TokenTTL data type.
Alias of Pattern[/^([0-9]+h)?([0-5]?[0-9]m)?([0-5]?[0-9]s)?$/]
Kubeinstall::Version
https://kubernetes.io/docs/setup/release/version-skew-policy/
Alias of Variant[Pattern[/^1\.1[6-9]\.[0-9]+/], Pattern[/^1\.2[01]\.[0-9]+/]]
What are tasks?
Modules can contain tasks that take action outside of a desired state managed by Puppet. It’s perfect for troubleshooting or deploying one-off changes, distributing scripts to run across your infrastructure, or automating changes that need to happen in a particular order as part of an application deployment.
Tasks in this module release
cgroup2
Set kernel parameters to enable cgroup2
What are plans?
Modules can contain plans that take action outside of a desired state managed by Puppet. It’s perfect for troubleshooting or deploying one-off changes, distributing scripts to run across your infrastructure, or automating changes that need to happen in a particular order as part of an application deployment.
Changelog
All notable changes to this project will be documented in this file.
Release 0.2.1
Features
- Added Helm client binary installation
Bugfixes
Known Issues
Release 0.2.2
Features
- Added service_node_port_range parameter for kubeadm init command
Bugfixes
Known Issues
Release 0.2.3
Features
- Added Docker default bridge network address setup (conform to daemon.json bip parameter)
Bugfixes
Known Issues
Release 0.2.4
Features
- Added resource for Kubernetes Secret object
Bugfixes
Known Issues
Release 0.3.0
Features
- Added CRI-O runtime installation
Bugfixes
Known Issues
Release 0.3.1
Features
Bugfixes
- Switched to Puppet module puppetlabs/helm
Known Issues
Release 0.3.2
Features
Bugfixes
- Bugfix: helm installation URL
Known Issues
Release 0.3.3
Features
Bugfixes
- Bugfix: helm installation exec path
Known Issues
Release 0.3.4
Features
Bugfixes
- Removed Puppet module puppetlabs/helm (no support for Helm 3.0+)
Known Issues
Release 0.3.5
Features
- Default version upgrade
Bugfixes
- Added containment for several calsses and resources
Known Issues
Release 0.3.6
Features
Bugfixes
- Docker decomission before CRI-O setup
Known Issues
Release 0.3.7
Features
- Added
kubeadm reset
during Docker decomission
Bugfixes
Known Issues
Release 0.3.8
Features
Bugfixes
- Drop camptocamp/systemd dependency
Known Issues
Release 0.4.0
Features
- Updated default versions of all components
Bugfixes
Known Issues
Release 0.5.0
Features
- Added ability to define StorageClass resource file
Bugfixes
Known Issues
Release 0.6.0
Features
- Added krew installation
- Added admin config setup
- Added bash completion
Bugfixes
Known Issues
Release 0.6.1
Features
Bugfixes
- Added /usr/local/krew directory management
Known Issues
Release 0.6.2
Features
Bugfixes
- Added PATH setup to include ~/.krew/bin
Known Issues
Release 0.7.0
Features
- Added krew plugiin istallation resource
- Added kubernetes namespace resource (create)
Bugfixes
Known Issues
Release 0.8.0
Features
- Added kubectl apply resoure
Bugfixes
Known Issues
Release 0.9.0
Features
- Added ArgoCD installation
Bugfixes
Known Issues
Release 0.9.1
Features
- Added IPv6 enable/disable feature
Bugfixes
- Corrected selinux management class
Known Issues
Release 0.9.2
Features
- Added selinux modes
- Updated components
Bugfixes
Known Issues
Release 0.10.0
Features
- Added CRI-O configuration file management with ability to manage selinux flag
- Updated fixtures and metadata
Bugfixes
- Bugfix: unit test for updated Docker components
Known Issues
Release 0.10.1
Features
- Added kubeinstall::node::label to setup node labels
- Added ability to export node labels resources within cluster
Bugfixes
Known Issues
Release 0.10.3
Features
Bugfixes
- Bugfix: added class kubeinstall::runtime::crio::config into CRI-O runtime manifest
Known Issues
Release 0.11.0
Features
- Added kubeinstall::resource::svc to manage Service resource
Bugfixes
Known Issues
Release 0.12.0
Features
- Added ArgoCD expose service (by default NodePort on port 30200)
Bugfixes
Known Issues
Release 0.12.1
Features
- Added volume_mode parameter into local PV
Bugfixes
Known Issues
Release 0.13.0
Features
- Updated kubernetes and components versions
Bugfixes
Known Issues
Release 0.14.0
Features
- Added Ubuntu support
Bugfixes
Known Issues
Release 0.14.1
Features
Bugfixes
- Bugfix: krew installation for versions 0.4.2 and greater
- Bugfix: Apt repositories fix for CRI-O
- Bugfix: Apt repository fix for K8S
- Bugfix: K8S installation for Ubuntu when version is not exact
Known Issues
Release 0.15.0
Features
- Changed default cgroup driver to systemd
Bugfixes
Known Issues
Release 0.15.1
Features
Bugfixes
- Bugfix: K8S installation for Ubuntu when version is not exact
- Bugfix: Krew installation on Ubuntu
Known Issues
Release 0.16.0
Features
- Added ability to activate Cgroup v2
Bugfixes
Known Issues
Release 0.16.1
Features
- Added task and plan kubeinstall::cgroup2
Bugfixes
Known Issues
Release 0.16.5
Features
- Added kernel check into kubeinstall::cgroup2 task
- Added existing kernel parametrs check into kubeinstall::cgroup2 task
- Added verbosity to kubeinstall::cgroup2 plan
- Added check if reboot required in kubeinstall::cgroup2 task
Bugfixes
- Bugfix: resolve error uninitialized constant Puppet::Parameter::Boolean
- Bugfix: task metadata for task kubeinstall::cgroup2
Known Issues
Release 0.16.7
Features
- Setup task output as JSON
Bugfixes
- Bugfix: handle reboot flag properly
Known Issues
Release 0.16.8
Features
Bugfixes
- Bugfix: repository and package apply sequence
Known Issues
Release 0.17.0
Features
- Added basic Helm repo and chart management
- Added Helm completion for bash
Bugfixes
Known Issues
Release 0.17.1
Features
- Updated default versions of components
Bugfixes
Known Issues
Release 0.17.2
Features
Bugfixes
- Added /root/.config directory setup
Known Issues
Release 0.17.3
Features
- Updated default versions of components
Bugfixes
Known Issues
Release 0.17.4
Features
Bugfixes
- Corrected URL to Calico installation manifest
- Corrected Yum repo for CentOS 7
Known Issues
Release 0.18.0
Features
- Added ability to manage grubby
- Added cgroup2 support for CentOS
- Added fact
kernelentries
Bugfixes
- Made Git optional
Known Issues
Release 0.18.1
Features
- Set net.core.somaxconn to default value 4096
Bugfixes
Known Issues
Release 0.18.2
Features
Bugfixes
- Exclude package kubernetes-cni from update
- Added --overwrite flag into label node command
Known Issues
Release 0.18.3
Features
Bugfixes
- Exclude package kubernetes-cni from update
- Updated fixtures and dependencies
Known Issues
Release 0.18.4
Features
- Added folder /root/.config/helm/charts for Helm charts configurations
- Versions upgrade
Bugfixes
Known Issues
Release 0.18.5
Features
- Defined configuration paths variables into parameters
Bugfixes
Known Issues
Release 0.18.6
Features
Bugfixes
- Added KUBECONFIG variable into
exec
resource forhelm
Known Issues
Release 0.18.7
Features
Bugfixes
- Updated fixtures
Known Issues
Release 0.18.8
Features
- Added kubernetes versions 1.25-1.27
Bugfixes
Known Issues
Release 0.19.0
Features
- Helm 3.11.3, Calico v3.25.1, ArgoCD 2.6.7
Bugfixes
Known Issues
Release 0.19.3
Features
- Added ArgoCD CLI installatio into /usr/local/bin/argocd
Bugfixes
- Exclude package kubernetes-cni from update only for Kubernetes < 1.25.0
- ArgoCD service for NodePort renamed to argocd-server-static
Known Issues
Release 0.19.4
Features
- PDK Upgrade to 2.7.1
Bugfixes
Known Issues
Release 0.20.0
Features
- Added TopoLVM lvmd binary installation
Bugfixes
Known Issues
Release 0.20.1
Features
Bugfixes
- Fixed puppet lint and rubocop errors
Known Issues
Release 0.20.2
Features
- Added TopoLVM lvmd config and service
Bugfixes
Known Issues
Release 0.20.3
Features
- Adjusted lvmd config manifest
Bugfixes
Known Issues
Release 0.20.4
Features
- Added refreshed ensure flag for APT keys
Bugfixes
- CRIO: separate version flag for cri-o-runc package
Known Issues
Release 0.20.5
Features
- CRIO: added support for Ubuntu Apt versions
Bugfixes
Known Issues
Release 0.20.6
Features
- K8S: refreshed ensure flag for APT keys
Bugfixes
Known Issues
Release 0.21.0
Features
Bugfixes
- Added fix for removed container-runtime kubelet option
- Updated kubeadm init and join configuration
Known Issues
Release 0.22.0
Features
- Added TopoLVM scheduler configuration setup
- Added kube-scheduler configuration management
Bugfixes
Known Issues
Release 0.22.1
Features
Bugfixes
- No duplicate entries for TopoLVM inside kube-scheduler config
Known Issues
Release 0.22.7
Features
Bugfixes
- Removed ConfigMap as kube-scheduler volume
- Added command to create TopoLVM scheduler diectory recursively
- Replace existing volumes with defined in Puppet
- BugFix: incorrect creationTimestamp type
Known Issues
Release 0.23.0
Features
- Added Calico operator and custom resources
Bugfixes
Known Issues
Release 0.23.1
Features
- Added xfs/ext4 utilities for nodes with lvmd daemon
Bugfixes
Known Issues
Release 0.24.0
Features
- PDK upgrade to 3.0.0
- Added separate class for directory structure setup
- Added systemd daemon reload from bsys module
- Increased default Kubernetes version to 1.28.2
Bugfixes
Known Issues
Release 0.25.1
Features
- Added Bolt plan
kubeinstall::setup
- Added parameter
cert_dir
Bugfixes
Known Issues
Release 0.26.2
Features
- Added class
kubeinstall::kubectl::binary
for kubectl installation - Added sha256sum check for kubectl
Bugfixes
Known Issues
Release 0.27.0
Features
- Added kube-apiserver, kubectl, kube-controller-manager and kube-scheduler binaries installation
Bugfixes
Known Issues
Release 0.28.0
Features
- Added 'ClusterRole' and 'ClusterRoleBinding' into kubeinstall::kubectl::apply
Bugfixes
Known Issues
Release 0.29.4
Features
- Added containerd Kubernetes runtime installation
Bugfixes
- Bugfix: containerd plan name
- Bugfix: wrong type name for nerdctl installation
- Bugfix: sha256 checksum check for nerdctl
- Bugfix: containerd components archive extract
Known Issues
Release 0.30.3
Features
- Added CNI plugins
bridge
andloopback
configuration - Added
containerd
service management - Added
crictl
installation - Enabled default config.toml setup for containerd
Bugfixes
- Added
containerd
service refresh on configuration changes - Bugfix: use network configurations instead plugin configurations
Known Issues
Release 0.31.1
Features
- Added 'kubelet' and 'kube-proxy' Kubernetes components installation
Bugfixes
- Bugfix: removed duplicate file resource
Known Issues
Release 0.32.1
Features
- Adjusted components' versions
Bugfixes
- Bugfix: added flag to allow default namespace
Known Issues
Release 0.33.0
Features
Bugfixes
- Bugfix: corrected cri-o installation on Ubuntu when version is not set
Known Issues
Release 0.34.1
Features
Bugfixes
- Bugfix: corrected /etc/containers/policy.json on CentOS 8 Stream
Known Issues
Release 0.35.5
Features
- Updated packages repos for Kubenetes project and package version for Ubuntu
- Added version check for Argo CD
Bugfixes
- Corrected versions for Argo CD and Calico
- Updated keyring path to /etc/apt/trusted.gpg.d
Known Issues
Release 0.36.2
Features
- Introduced calico opeator version (current is: 1.30.9)
- Updated containerd and runc default versions
Bugfixes
- Corrected
path
property for each exec with kubectl incommand
orunless
- Removed hostname from
onlyif
conditionkubectl get nodes
(kubelet could be not installed on control plain)
Known Issues
Release 0.37.0
Features
- Added ability to remove label from node
Bugfixes
- Bugfix: change include to contain for calicactl
Known Issues
Release 0.38.4
Features
- Added ability to setup differet kubeconfig for ArgoCD installation
- Updated default ArgoCD version to 2.9.3
- Added port 80 into static ArgoCD servicee
Bugfixes
- Added separate NodePort port for HTTP service port
Known Issues
Release 0.38.5
Features
- Added auto-refresh for repo upon changes
Bugfixes
Known Issues
Release 0.39.1
Features
- Components and versions upgrade
Bugfixes
Known Issues
Release 0.39.3
Features
- Allow cri-o version be different then kubernetes version
Bugfixes
Known Issues
Release 0.39.4
Features
- Upgraded default versions of components
Bugfixes
- Added support of Kubernetes 1.29.x for TopoLVM scheduler config
Known Issues
Release 0.40.0
Features
- Added PVC resource definition for Persistence volume claims
- Upgraded default versions of components
Bugfixes
Known Issues
Release 0.40.1
Features
- Added claimRef into PV resource definition
Bugfixes
- Fixed unit tests to match new versions of components
Known Issues
Release 0.41.1
Features
- Replaced
selector
parameter withmatch_expressions
andmatch_labels
- Added exported PVC resources collector into
kubeinstall::cluster
Bugfixes
Known Issues
Release 0.41.3
Features
- Upgraded default versions of components
Bugfixes
Known Issues
Dependencies
- puppet/archive (>= 4.4.0 < 8.0.0)
- aursu/bsys (>= 0.4.1 < 1.0.0)
- aursu/dockerinstall (>= 0.18.0 < 1.0.0)
- puppet/kmod (>= 3.0.0 < 5.0.0)
- puppet/selinux (>= 3.2.0 < 5.0.0)
- puppetlabs/apt (>= 7.7.1 < 10.0.0)
- puppetlabs/stdlib (>= 4.13.0 < 10.0.0)
- thias/sysctl (>= 1.0.6 < 2.0.0)
- aursu/tlsinfo (>= 0.5.0 < 1.0.0)
- puppet/systemd (>= 4.2.0 < 7.0.0)