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
- Puppet >= 7.0.0 < 9.0.0
- , , ,
Tasks:
- swagger_k8s_delete_apps_v1beta2_collection_namespaced_deployment
- swagger_k8s_delete_apps_v1beta2_collection_namespaced_replica_set
- swagger_k8s_delete_apps_v1beta2_collection_namespaced_stateful_set
- swagger_k8s_delete_apps_v1beta2_namespaced_controller_revision
- swagger_k8s_delete_apps_v1beta2_namespaced_daemon_set
- swagger_k8s_delete_apps_v1beta2_namespaced_deployment
- swagger_k8s_delete_apps_v1beta2_namespaced_replica_set
- and 521 more. See all tasks
Plans:
- deploy
- provision_cluster
- puppetserver_setup
Start using this module
Add this module to your Puppetfile:
mod 'puppetlabs-kubernetes', '8.1.0'
Learn more about managing modules with a PuppetfileDocumentation
Kubernetes
Table of Contents
- Description
- Setup - The basics of getting started with kubernetes
- Reference - An under-the-hood peek at what the module is doing and how
- Limitations - OS compatibility, etc.
- License
- Development - Guide for contributing to the module
- Examples - Puppet Bolt task examples
Description
This module installs and configures Kubernetes which is an open-source system for automating deployment, scaling, and management of containerized applications. For efficient management and discovery, containers that make up an application are grouped into logical units.
To bootstrap a Kubernetes cluster in a secure and extensible way, this module uses the kubeadm toolkit.
Setup
Install this module, generate the configuration, add the OS and hostname yaml files to Hiera, and configure your node.
Included in this module is Kubetool, a configuration tool that auto-generates the Hiera security parameters, the discovery token hash, and other configurations for your Kubernetes cluster. To simplify installation and use, the tool is available as a Docker image.
Generating the module configuration
If Docker is not installed on your workstation, install it from here.
The Kubetool Docker image takes each parameter as an environment variable.
Note:: The version of Kubetool you use must match the version of the module on the Puppet Forge. For example, if using the module version 1.0.0, use puppet/kubetool:1.0.0
.
To output a yaml file into your working directory that corresponds to the operating system you want Kubernetes to run on, and for each controller node, run either of these docker run
commands:
docker run --rm -v $(pwd):/mnt --env-file env puppet/kubetool:{$module_version}
The docker run
command above includes an env
file which is included in the root folder of this repo.
docker run --rm -v $(pwd):/mnt -e OS=ubuntu -e VERSION=1.10.2 -e CONTAINER_RUNTIME=docker -e CNI_PROVIDER=cilium -e CNI_PROVIDER_VERSION=1.4.3 -e ETCD_INITIAL_CLUSTER=kube-control-plane:172.17.10.101,kube-replica-control-plane-01:172.17.10.210,kube-replica-control-plane-02:172.17.10.220 -e ETCD_IP="%{networking.ip}" -e KUBE_API_ADVERTISE_ADDRESS="%{networking.ip}" -e INSTALL_DASHBOARD=true puppet/kubetool:{$module-version}
The above parameters are:
OS
: The operating system Kubernetes runs on.VERSION
: The version of Kubernetes to deploy. Must follow X.Y.Z format. (Check kubeadm regex rule for more information)CONTAINER_RUNTIME
: The container runtime Kubernetes uses. Set this value todocker
(officially supported) orcri_containerd
. Advanced Kubernetes users can usecri_containerd
, however this requires an increased understanding of Kubernetes, specifically when running applications in a HA cluster. To run a HA cluster and access your applications, an external load balancer is required in front of your cluster. Setting this up is beyond the scope of this module. For more information, see the Kubernetes documentation.CNI_PROVIDER
: The CNI network to install. Set this value toweave
,flannel
,calico
orcilium
.CNI_PROVIDER_VERSION
The CNI version to use.calico
,calico-tigera
, andcilium
providers use this variable to reference the correct deployment file. Current versioncilium
is1.4.3
, calico is3.18
, calico-tigera is3.26.0
ETCD_INITIAL_CLUSTER
: The server hostnames and IPs in the form ofhostname:ip
. When in production, include three, five, or seven nodes for etcd.ETCD_IP
: The IP each etcd member listens on. We recommend passing the fact for the interface to be used by the cluster.KUBE_API_ADVERTISE_ADDRESS
: The IP each etcd/apiserver instance uses on each controller. We recommend passing the fact for the interface to be used by the cluster.INSTALL_DASHBOARD
: A boolean which specifies whether to install the dashboard.KEY_SIZE
: Number of bits in certificates (default:2048
).
Kubetool creates:
-
A yaml file that corresponds to the operating system specified by the
OS
parameter. To view the file contents, runcat Debian.yaml
for a Debian system, or runcat RedHat.yaml
for RedHat. The yaml files produced for each member of the etcd cluster contain certificate information to bootstrap an initial etcd cluster. Ensure these are also placed in your hieradata directory at the node level. -
A discovery token hash and encoded values required by Kubernetes. To regenerate the values, including certificates and tokens, run the
kubetool
command again.
Adding the {$OS}.yaml
and {$hostname}.yaml
files to Hiera
Add the {$OS}.yaml
file to the same control repo where your Hiera data is, usually the data
directory. By leveraging location facts, such as the pp_datacenter trusted fact, each cluster can be allocated its own configuration.
Possible Error fetching hiera data
If the below error is encounterd
Error: Could not retrieve catalog from remote server: Error 500 on SERVER: Server Error: Evaluation Error: Error while evaluating a Resource Statement, Class[Kubernetes]:
parameter 'api_server_count' expects an Integer value, got Undef
parameter 'token' expects a String value, got Undef
parameter 'discovery_token_hash' expects a String value, got Undef (file: /etc/puppetlabs/code/environments/production/manifests/site.pp, line: 138, column: 3) on node xxx.example.local
It means that hiera is not getting the values from the associated yaml files stored in the data folder so it sets some of the required values as Undefined.
Check your hiera.yaml file and ensure that it contains entries for {OS}.yaml
and {$hostname}.yaml
hierarchy:
- name: "Family"
path: Debian.yaml
- name: "Host"
path: xxx.example.local.yaml
Configuring your node
After the {$OS}.yaml
and {$hostname}.yaml
files have been added to the Hiera directory on your Puppet server, configure your node as the controller or worker.
A controller node contains the control plane and etcd. In a production cluster, you should have three, five, or seven controllers. A worker node runs your applications. You can add as many worker nodes as Kubernetes can handle. For information about nodes in Kubernetes, see the Kubernetes documentation.
Note: A node cannot be a controller and a worker. It must be one or the other.
To make a node a controller, add the following code to the manifest:
class {'kubernetes':
controller => true,
}
To make a node a worker, add the following code to the manifest:
class {'kubernetes':
worker => true,
}
Network Plugins
Kubernetes supports multiple networking plugins that implements the networking model.
This module supports following Container Network Interface (CNI) plugins:
flannel
kubernetes::cni_network_provider: https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
kubernetes::cni_pod_cidr: 10.244.0.0/16
kubernetes::cni_provider: flannel
weave
calico-node
cilium
kubernetes::cni_network_provider: https://raw.githubusercontent.com/cilium/cilium/1.4.3/examples/kubernetes/1.26/cilium.yaml
kubernetes::cni_pod_cidr: 10.244.0.0/16
kubernetes::cni_provider: cilium
Installing Kubernetes on different OS
Currently, puppetlab-kubernetes
is compatible with Ubuntu Xenial. For different OS, below parameters can be assigned.
For instance, installing kubernetes
version 1.20.0
on Debian buster
# Docker repo and key as documented in
# https://docs.docker.com/install/linux/docker-ce/debian/
docker_apt_location => 'https://download.docker.com/linux/debian',
docker_apt_repos => 'stable',
docker_apt_release => 'buster',
docker_key_id => '9DC858229FC7DD38854AE2D88D81803C0EBFCD88',
docker_key_source => 'https://download.docker.com/linux/debian/gpg',
# Different available version can be found by apt-cache madison docker-ce
docker_version => '5:20.10.5~3-0~debian-buster',
docker_package_name => 'docker-ce',
# Kubernetes Version
kubernetes_version => '1.20.0',
Validating and unit testing the module
This module is compliant with the Puppet Development Kit (PDK), which provides tools to help run unit tests on the module and validate the modules's metadata, syntax, and style.
Note: To run static validations and
unit tests against this module using the pdk validate
and pdk test unit
commands, you must have Puppet 5 or higher installed. In the following examples we have specified Puppet 5.3.6.
To validate the metadata.json file, run the following command:
pdk validate metadata --puppet-version='5.3.6'
To validate the Puppet code and syntax, run the following command:
pdk validate puppet --puppet-version='5.3.6'
Note: The pdk validate ruby
command ignores the excluded directories specified in the .rubocop.yml file. Therefore, to validate the Ruby code style and syntax you must specify the directory the code exists in.
In the following example we validate the Ruby code contained in the lib directory:
pdk validate ruby lib --puppet-version='5.3.6'
To unit test the module, run the following command:
pdk test unit --puppet-version='5.3.6'
Reference
Classes
Public classes
- kubernetes
Private classes
- kubernetes::cluster_roles
- kubernetes::config
- kubernetes::kube_addons
- kubernetes::packages
- kubernetes::repos
- kubernetes::service
Defined types
- kubernetes::kubeadm_init
- kubernetes::kubeadm_join
Parameters
The following parameters are available in the kubernetes
class.
apiserver_cert_extra_sans
A string array of Subject Alternative Names for the API server certificates.
Defaults to []
.
apiserver_extra_arguments
A string array of extra arguments passed to the API server.
Defaults to []
.
apiserver_extra_volumes
A hash of extra volumes mounts mounted on the API server.
For example,
apiserver_extra_volumes => {
'volume-name' => {
hostPath => '/data',
mountPath => '/data',
readOnly: => 'false',
pathType: => 'DirectoryOrCreate'
},
}
Defaults to {}
.
cloud_provider
The name of the cloud provider configured in /etc/kubernetes/cloud-config
.
Note: This file is not managed within this module and must be present before bootstrapping the Kubernetes controller.
Defaults to undef
.
cloud_config
The location of the cloud config file used by cloud_provider
. For use with v1.12 and above.
Note: This file is not managed within this module and must be present before bootstrapping the Kubernetes controller.
Defaults to undef
.
cni_network_provider
The URL to get the CNI providers yaml file. kube_tool
sets this value.
Defaults to undef
.
cni_rbac_binding
The download URL for the cni providers rbac rules. Only for use with Calico.
Defaults to undef
.
cni_pod_cidr
Specifies the overlay (internal) network range to use. This value is set by kube_tool
per CNI_PROVIDER
.
Defaults to undef
.
container_runtime
Specifies the runtime that the Kubernetes cluster uses.
Valid values are cri_containerd
or docker
.
Defaults to docker
.
container_runtime_use_proxy
When set to true will cause the new proxy variables to be applied to the container runtime. Currently only implemented for Docker.
Valid values are true
, false
.
Defaults to false
.
controller
Specifies whether to set the node as a Kubernetes controller.
Valid values are true
, false
.
Defaults to false
.
containerd_version
Specifies the version of the containerd runtime the module installs.
Defaults to 1.4.3
.
containerd_install_method
The method used to install containerd. Either archive
or package
.
Defaults to archive
.
containerd_package_name
The package name for containerd when containerd_install_method
is package
.
Defaults to containerd.io
containerd_archive
The name of the containerd archive.
Defaults to containerd-${containerd_version}.linux-amd64.tar.gz
.
containerd_source
The download URL for the containerd archive.
Defaults to https://github.com/containerd/containerd/releases/download/v${containerd_version}/${containerd_archive}
.
containerd_plugins_registry
The configuration for the image registries used by containerd.
See https://github.com/containerd/containerd/blob/master/docs/cri/registry.md
Defaults to {'docker.io' => {'mirrors' => {'endpoint' => 'https://registry-1.docker.io'}}}
.
For example,
'containerd_plugins_registry' => {
'docker.io' => {
'mirrors' => {
'endpoint' => 'https://registry-1.docker.io'
},
},
'docker.private.example.com' => {
'mirrors' => {
'endpoint' => 'docker.private.example.com'
},
'tls' => {
'ca_file' => 'ca.pem',
'cert_file' => 'cert.pem',
'key_file' => 'key.pem',
'insecure_skip_verify' => true,
},
'auth' => {
'auth' => '1azhzLXVuaXQtdGVzdDpCQ0NwNWZUUXlyd3c1aUxoMXpEQXJnUT==',
},
},
'docker.private.example2.com' => {
'mirrors' => {
'endpoint' => 'docker.private.example2.com'
},
'tls' => {
'insecure_skip_verify' => true,
},
'auth' => {
'username' => 'user2',
'password' => 'secret2',
},
},
}
containerd_sandbox_image
The configuration for the image pause container.
Default registry.k8s.io/pause:3.2
.
containerd_socket
The path to containerd GRPC socket.
Default: /run/containerd/containerd.sock
controller_address
The IP address and port for the controller the worker node joins. For example 172.17.10.101:6443
.
Defaults to undef
.
controllermanager_extra_arguments
A string array of extra arguments passed to the controller manager.
Defaults to []
.
controllermanager_extra_volumes
A hash of extra volumes mounts mounted on the controller manager container.
For example,
controllermanager_extra_volumes => {
'volume-name' => {
hostPath => '/data',
mountPath => '/data',
readOnly: => 'false',
pathType: => 'DirectoryOrCreate'
},
}
Defaults to {}
.
scheduler_extra_arguments
A string array of extra arguments passed to the scheduler.
Defaults to []
.
create_repos
Specifies whether to install the upstream Kubernetes and Docker repos.
Valid values are true
, false
.
Defaults to true
.
disable_swap
Specifies whether to turn off swap setting. This is required for kubeadm.
Valid values are true
, false
.
Defaults to true
.
manage_kernel_modules
Specifies whether to manage the kernel modules needed for kubernetes
Valid values are true
, false
.
Defaults to true
manage_sysctl_settings
Specifies whether to manage the the sysctl settings needed for kubernetes
Valid values are true
, false
.
Defaults to true
discovery_token_hash
The string used to validate to the root CA public key when joining a cluster. This value is created by kubetool
.
Defaults to undef
.
docker_apt_location
The APT repo URL for the Docker packages.
Defaults to https://apt.dockerproject.org/repo
.
docker_apt_release
The release name for the APT repo for the Docker packages.
Defaults to 'ubuntu-${::lsbdistcodename}'
.
docker_apt_repos
The repos to install from the Docker APT url.
Defaults to main
.
docker_version
Specifies the version of the Docker runtime to install.
Defaults to:
17.03.0.ce-1.el7.centos
on RedHat.17.03.0~ce-0~ubuntu-xenial
on Ubuntu.
docker_package_name
The docker package name to download from an upstream repo.
Defaults to docker-engine
.
docker_key_id
The gpg key for the Docker APT repo.
Defaults to '58118E89F3A912897C070ADBF76221572C52609D'
.
docker_key_source
The URL for the Docker APT repo gpg key.
Defaults to https://apt.dockerproject.org/gpg
.
docker_yum_baseurl
The YUM repo URL for the Docker packages.
Defaults to https://download.docker.com/linux/centos/7/x86_64/stable
.
docker_yum_gpgkey
The URL for the Docker yum repo gpg key.
Defaults to https://download.docker.com/linux/centos/gpg
.
docker_storage_driver
The storage driver for Docker (added to '/etc/docker/daemon.json')
Defaults to overlay2
.
docker_storage_opts
The storage options for Docker (Array added to '/etc/docker/daemon.json')
Defaults to undef
.
docker_extra_daemon_config
Extra daemons options
Defaults to undef
.
etcd_version
Specifies the version of etcd.
Defaults to 3.1.12
.
etcd_archive
Specifies the name of the etcd archive.
Defaults to etcd-v${etcd_version}-linux-amd64.tar.gz
.
etcd_source
The download URL for the etcd archive.
Defaults to https://github.com/coreos/etcd/releases/download/v${etcd_version}/${etcd_archive}
.
etcd_install_method
The method on how to install etcd. Can be either wget
(using etcd_source) or package
(using $etcd_package_name)
Defaults to wget
.
etcd_package_name
The system package name for installing etcd
Defaults to etcd-server
.
etcd_hostname
Specifies the name of the etcd instance.
A Hiera is kubernetes::etcd_hostname:"%{::fqdn}"
.
Defaults to $hostname
.
etcd_ip
Specifies the IP address etcd uses for communications.
A Hiera is kubernetes::etcd_ip:"%{networking.ip}"
.
Defaults to undef
.
etcd_initial_cluster
Informs etcd on how many nodes are in the cluster.
A Hiera example is kubernetes::etcd_initial_cluster: kube-control-plane:172.17.10.101,kube-replica-control-plane-01:172.17.10.210,kube-replica-control-plane-02:172.17.10.220
.
Defaults to undef
.
etcd_initial_cluster_state
Informs etcd on the state of the cluster when starting. Useful for adding single nodes to a cluster. Allowed values are new
or existing
.
Defaults to new
etcd_peers
Specifies how etcd lists the peers to connect to the cluster.
A Hiera example is kubernetes::etcd_peers
:
- 172.17.10.101
- 172.17.10.102
- 172.17.10.103
Defaults to undef
etcd_ca_key
The CA certificate key data for the etcd cluster. This value must be passed as string and not as a file.
Defaults to undef
.
etcd_ca_crt
The CA certificate data for the etcd cluster. This value must be passed as string and not as a file.
Defaults to undef
.
etcdclient_key
The client certificate key data for the etcd cluster. This value must be passed as string and not as a file.
Defaults to undef
.
etcdclient_crt
The client certificate data for the etcd cluster. This value must be passed as string not as a file.
Defaults to undef
.
etcdserver_key
The server certificate key data for the etcd cluster. This value must be passed as string not as a file.
Defaults to undef
.
etcdserver_crt
The server certificate data for the etcd cluster . This value must be passed as string not as a file.
Defaults to undef
.
etcdpeer_crt
The peer certificate data for the etcd cluster. This value must be passed as string not as a file.
Defaults to undef
.
etcdpeer_key
The peer certificate key data for the etcd cluster. This value must be passed as string not as a file.
Defaults to undef
.
http_proxy
The string value to set for the HTTP_PROXY environment variable.
Defaults to undef
.
https_proxy
The string value to set for the HTTPS_PROXY environment variable.
Defaults to undef
.
image_repository
The container registry to pull control plane images from.
Defaults to registry.k8s.io
install_dashboard
Specifies whether the Kubernetes dashboard is installed.
Valid values are true
, false
.
Defaults to false
.
kubernetes_ca_crt
The cluster's CA certificate. Must be passed as a string and not a file.
Defaults to undef
.
kubernetes_ca_key
The cluster's CA key. Must be passed as a string and not a file.
Defaults to undef
.
kubernetes_front_proxy_ca_crt
The cluster's front-proxy CA certificate. Must be passed as a string and not a file.
Defaults to undef
.
kubernetes_front_proxy_ca_key
The cluster's front-proxy CA key. Must be passed as a string and not a file.
Defaults to undef
.
kube_api_advertise_address
The IP address you want exposed by the API server.
A Hiera example is kubernetes::kube_api_advertise_address:"%{networking.ip}"
.
Defaults to undef
.
kubernetes_version
The version of the Kubernetes containers to install. Must follow X.Y.Z format.
Defaults to 1.10.2
.
kubernetes_package_version
The version the Kubernetes OS packages to install, such as kubectl
and kubelet
.
Defaults to 1.10.2
.
kubeadm_extra_config
A hash containing extra configuration data to be serialised with to_yaml
and appended to the config.yaml file used by kubeadm.
Defaults to {}
.
kubelet_extra_config
A hash containing extra configuration data to be serialised with to_yaml
and appended to Kubelet configuration file for the cluster. Requires DynamicKubeletConfig.
Defaults to {}
.
kubelet_extra_arguments
A string array to be appended to kubeletExtraArgs in the Kubelet's nodeRegistration configuration. It is applied to both control-planes and nodes. Use this for critical Kubelet settings such as pod-infra-container-image
which may be problematic to configure via kubelet_extra_config and DynamicKubeletConfig.
Defaults to []
.
kubernetes_apt_location
The APT repo URL for the Kubernetes packages.
Defaults to https://apt.kubernetes.io
.
kubernetes_apt_release
The release name for the APT repo for the Kubernetes packages.
Defaults to 'kubernetes-${::lsbdistcodename}'
.
kubernetes_apt_repos
The repos to install using the Kubernetes APT URL.
Defaults to main
.
kubernetes_key_id
The gpg key for the Kubernetes APT repo.
Defaults to '54A647F9048D5688D7DA2ABE6A030B21BA07F4FB'
.
kubernetes_key_source
The URL for the APT repo gpg key.
Defaults to https://packages.cloud.google.com/apt/doc/apt-key.gpg
.
kubelet_use_proxy
When set to true will cause the new proxy variables to be applied to the Kubelet.
Valid values are true
, false
.
Defaults to false
.
kubernetes_yum_baseurl
The YUM repo URL for the Kubernetes packages.
Defaults to https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
.
kubernetes_yum_gpgkey
The URL for the Kubernetes yum repo gpg key.
Defaults to https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg
.
manage_docker
Specifies whether to install Docker repositories and packages via this module.
Valid values are true
, false
.
Defaults to true
.
manage_etcd
Specifies whether to install an external Etcd via this module.
Valid values are true
, false
.
Defaults to true
.
no_proxy
The string value to set for the NO_PROXY environment variable.
Defaults to undef
.
node_label
An override to the label of a node.
Defaults to hostname
.
node_extra_taints
Additional taints for node.
Defaults to undef
.
For example,
[{'key' => 'dedicated','value' => 'NewNode','effect' => 'NoSchedule', 'operator', => 'Equal'}]
About kubernetes taints https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/
runc_source
The download URL for runc
.
Defaults to https://github.com/opencontainers/runc/releases/download/v${runc_version}/runc.amd64
.
runc_version
Specifies the version of runc
to install.
Defaults to 1.0.0
.
sa_key
The key for the service account. This value must be a certificate value and not a file.
Defaults to undef
.
sa_pub
The public key for the service account. This value must be a certificate value and not a file.
Defaults to undef
.
schedule_on_controller
Specifies whether to remove the control plane role and allow pod scheduling on controllers.
Valid values are true
, false
.
Defaults to false
.
service_cidr
The IP address range for service VIPs.
Defaults to 10.96.0.0/12
.
token
The string used to join nodes to the cluster. This value must be in the form of [a-z0-9]{6}.[a-z0-9]{16}
.
Defaults to undef
.
ttl_duration
The duration before the bootstrap token is automatically deleted (e.g. 1s, 2m, 3h). If set to '0', the token will never expire
Defaults to 24h
worker
Specifies whether to set the node as a Kubernetes worker.
Valid values are true
, false
.
Defaults to false
.
Limitations
This module supports:
- Puppet 4 or higher.
- Kubernetes 1.10.x or higher.
- Ruby 2.3.0 or higher.
This module has been tested on the following operating systems:
- RedHat 7.x.
- CentOS 7.x.
- Ubuntu 16.04
Docker is the supported container runtime for this module.
License
This codebase is licensed under the Apache2.0 licensing, however due to the nature of the codebase the open source dependencies may also use a combination of AGPL, BSD-2, BSD-3, GPL2.0, LGPL, MIT and MPL Licensing.
Development
If you would like to contribute to this module, please follow the rules in the CONTRIBUTING.md. For more information, see our module contribution guide.
To run the acceptance tests you can use Puppet Litmus with the Vagrant provider by using the following commands:
# install rvm with and ruby >2.5
rvm install "ruby-2.5.1"
gem install bundler
bundler install
bundle exec rake 'litmus:provision_list[all_supported]'
bundle exec rake 'litmus:install_agent[puppet5]'
bundle exec rake 'litmus:install_module'
bundle exec rake 'litmus:acceptance:parallel'
For more information about Litmus please see the wiki.
As currently Litmus does not allow memory size and cpu size parameters for the Vagrant provisioner task we recommend to manually update the Vagrantfile used by the provisioner and add at least the following specifications for the puppetlabs-kubernetes module acceptance tests:
Update Vagrantfile in the file: spec/fixtures/modules/provision/tasks/vagrant.rb
vf = <<-VF
Vagrant.configure(\"2\") do |config|
config.vm.box = '#{platform}'
config.vm.boot_timeout = 600
config.ssh.insert_key = false
config.vm.hostname = "testkube"
config.vm.provider "virtualbox" do |vb|
vb.memory = "2048"
vb.cpus = "2"
end
#{network}
#{synced_folder}
end
VF
Examples
In the examples folder you will find a bash script containg a few sample Puppet Bolt commands for the usage of the tasks. The example script is intended to be used with a Kubernetes API that requires the token authentication header, but the token parameter is optional by default.
Reference
Table of Contents
Classes
kubernetes
: Class: kubernetes =========================== A module to build a Kubernetes cluster https://kubernetes.io/ Parameters ---------- [*kubernekubernetes::cluster_roles
: This class configures the RBAC roles for Kubernetes 1.10.xkubernetes::config::kubeadm
: Class kubernetes config kubeadm, populates kubeadm config file with params to bootstrap clusterkubernetes::config::worker
: Class kubernetes config_worker, populates worker config files with joinconfigkubernetes::kube_addons
: Class kubernetes kube_addonskubernetes::packages
kubernetes::repos
kubernetes::service
: Puppet class that controls the Kubelet service
Defined types
kubernetes::kubeadm_init
: == kubernetes::kubeadm_initkubernetes::kubeadm_join
: == kubernetes::kubeadm_joinkubernetes::wait_for_default_sa
: == kubernetes::wait_for_default_sa
Functions
kubeadm_init_flags
: Transforms a hash into a string of kubeadm init flagskubeadm_join_flags
: Transforms a hash into a string of kubeadm init flags
Data types
Kubernetes::Namespace
: namespace should conform to RFC 1123 source https://stackoverflow.com/a/20945961/334831
Tasks
swagger_k8s_create_admissionregistration_v1beta1_mutating_webhook_configuration
: create a MutatingWebhookConfigurationswagger_k8s_create_admissionregistration_v1beta1_validating_webhook_configuration
: create a ValidatingWebhookConfigurationswagger_k8s_create_apiextensions_v1beta1_custom_resource_definition
: create a CustomResourceDefinitionswagger_k8s_create_apiregistration_v1_api_service
: create an APIServiceswagger_k8s_create_apiregistration_v1beta1_api_service
: create an APIServiceswagger_k8s_create_apps_v1_namespaced_controller_revision
: create a ControllerRevisionswagger_k8s_create_apps_v1_namespaced_daemon_set
: create a DaemonSetswagger_k8s_create_apps_v1_namespaced_deployment
: create a Deploymentswagger_k8s_create_apps_v1_namespaced_replica_set
: create a ReplicaSetswagger_k8s_create_apps_v1_namespaced_stateful_set
: create a StatefulSetswagger_k8s_create_apps_v1beta1_namespaced_controller_revision
: create a ControllerRevisionswagger_k8s_create_apps_v1beta1_namespaced_deployment
: create a Deploymentswagger_k8s_create_apps_v1beta1_namespaced_deployment_rollback
: create rollback of a Deploymentswagger_k8s_create_apps_v1beta1_namespaced_stateful_set
: create a StatefulSetswagger_k8s_create_apps_v1beta2_namespaced_controller_revision
: create a ControllerRevisionswagger_k8s_create_apps_v1beta2_namespaced_daemon_set
: create a DaemonSetswagger_k8s_create_apps_v1beta2_namespaced_deployment
: create a Deploymentswagger_k8s_create_apps_v1beta2_namespaced_replica_set
: create a ReplicaSetswagger_k8s_create_apps_v1beta2_namespaced_stateful_set
: create a StatefulSetswagger_k8s_create_auditregistration_v1alpha1_audit_sink
: create an AuditSinkswagger_k8s_create_authentication_v1_token_review
: create a TokenReviewswagger_k8s_create_authentication_v1beta1_token_review
: create a TokenReviewswagger_k8s_create_authorization_v1_namespaced_local_subject_access_review
: create a LocalSubjectAccessReviewswagger_k8s_create_authorization_v1_self_subject_access_review
: create a SelfSubjectAccessReviewswagger_k8s_create_authorization_v1_self_subject_rules_review
: create a SelfSubjectRulesReviewswagger_k8s_create_authorization_v1_subject_access_review
: create a SubjectAccessReviewswagger_k8s_create_authorization_v1beta1_namespaced_local_subject_access_review
: create a LocalSubjectAccessReviewswagger_k8s_create_authorization_v1beta1_self_subject_access_review
: create a SelfSubjectAccessReviewswagger_k8s_create_authorization_v1beta1_self_subject_rules_review
: create a SelfSubjectRulesReviewswagger_k8s_create_authorization_v1beta1_subject_access_review
: create a SubjectAccessReviewswagger_k8s_create_autoscaling_v1_namespaced_horizontal_pod_autoscaler
: create a HorizontalPodAutoscalerswagger_k8s_create_autoscaling_v2beta1_namespaced_horizontal_pod_autoscaler
: create a HorizontalPodAutoscalerswagger_k8s_create_autoscaling_v2beta2_namespaced_horizontal_pod_autoscaler
: create a HorizontalPodAutoscalerswagger_k8s_create_batch_v1_namespaced_job
: create a Jobswagger_k8s_create_batch_v1beta1_namespaced_cron_job
: create a CronJobswagger_k8s_create_batch_v2alpha1_namespaced_cron_job
: create a CronJobswagger_k8s_create_certificates_v1beta1_certificate_signing_request
: create a CertificateSigningRequestswagger_k8s_create_coordination_v1_namespaced_lease
: create a Leaseswagger_k8s_create_coordination_v1beta1_namespaced_lease
: create a Leaseswagger_k8s_create_core_v1_namespace
: create a Namespaceswagger_k8s_create_core_v1_namespaced_binding
: create a Bindingswagger_k8s_create_core_v1_namespaced_config_map
: create a ConfigMapswagger_k8s_create_core_v1_namespaced_endpoints
: create Endpointsswagger_k8s_create_core_v1_namespaced_event
: create an Eventswagger_k8s_create_core_v1_namespaced_limit_range
: create a LimitRangeswagger_k8s_create_core_v1_namespaced_persistent_volume_claim
: create a PersistentVolumeClaimswagger_k8s_create_core_v1_namespaced_pod
: create a Podswagger_k8s_create_core_v1_namespaced_pod_binding
: create binding of a Podswagger_k8s_create_core_v1_namespaced_pod_eviction
: create eviction of a Podswagger_k8s_create_core_v1_namespaced_pod_template
: create a PodTemplateswagger_k8s_create_core_v1_namespaced_replication_controller
: create a ReplicationControllerswagger_k8s_create_core_v1_namespaced_resource_quota
: create a ResourceQuotaswagger_k8s_create_core_v1_namespaced_secret
: create a Secretswagger_k8s_create_core_v1_namespaced_service
: create a Serviceswagger_k8s_create_core_v1_namespaced_service_account
: create a ServiceAccountswagger_k8s_create_core_v1_node
: create a Nodeswagger_k8s_create_core_v1_persistent_volume
: create a PersistentVolumeswagger_k8s_create_events_v1beta1_namespaced_event
: create an Eventswagger_k8s_create_extensions_v1beta1_namespaced_daemon_set
: create a DaemonSetswagger_k8s_create_extensions_v1beta1_namespaced_deployment
: create a Deploymentswagger_k8s_create_extensions_v1beta1_namespaced_deployment_rollback
: create rollback of a Deploymentswagger_k8s_create_extensions_v1beta1_namespaced_ingress
: create an Ingressswagger_k8s_create_extensions_v1beta1_namespaced_network_policy
: create a NetworkPolicyswagger_k8s_create_extensions_v1beta1_namespaced_replica_set
: create a ReplicaSetswagger_k8s_create_extensions_v1beta1_pod_security_policy
: create a PodSecurityPolicyswagger_k8s_create_networking_v1_namespaced_network_policy
: create a NetworkPolicyswagger_k8s_create_networking_v1beta1_namespaced_ingress
: create an Ingressswagger_k8s_create_node_v1alpha1_runtime_class
: create a RuntimeClassswagger_k8s_create_node_v1beta1_runtime_class
: create a RuntimeClassswagger_k8s_create_policy_v1beta1_namespaced_pod_disruption_budget
: create a PodDisruptionBudgetswagger_k8s_create_policy_v1beta1_pod_security_policy
: create a PodSecurityPolicyswagger_k8s_create_rbac_authorization_v1_cluster_role
: create a ClusterRoleswagger_k8s_create_rbac_authorization_v1_cluster_role_binding
: create a ClusterRoleBindingswagger_k8s_create_rbac_authorization_v1_namespaced_role
: create a Roleswagger_k8s_create_rbac_authorization_v1_namespaced_role_binding
: create a RoleBindingswagger_k8s_create_rbac_authorization_v1alpha1_cluster_role
: create a ClusterRoleswagger_k8s_create_rbac_authorization_v1alpha1_cluster_role_binding
: create a ClusterRoleBindingswagger_k8s_create_rbac_authorization_v1alpha1_namespaced_role
: create a Roleswagger_k8s_create_rbac_authorization_v1alpha1_namespaced_role_binding
: create a RoleBindingswagger_k8s_create_rbac_authorization_v1beta1_cluster_role
: create a ClusterRoleswagger_k8s_create_rbac_authorization_v1beta1_cluster_role_binding
: create a ClusterRoleBindingswagger_k8s_create_rbac_authorization_v1beta1_namespaced_role
: create a Roleswagger_k8s_create_rbac_authorization_v1beta1_namespaced_role_binding
: create a RoleBindingswagger_k8s_create_scheduling_v1_priority_class
: create a PriorityClassswagger_k8s_create_scheduling_v1alpha1_priority_class
: create a PriorityClassswagger_k8s_create_scheduling_v1beta1_priority_class
: create a PriorityClassswagger_k8s_create_settings_v1alpha1_namespaced_pod_preset
: create a PodPresetswagger_k8s_create_storage_v1_storage_class
: create a StorageClassswagger_k8s_create_storage_v1_volume_attachment
: create a VolumeAttachmentswagger_k8s_create_storage_v1alpha1_volume_attachment
: create a VolumeAttachmentswagger_k8s_create_storage_v1beta1_csi_driver
: create a CSIDriverswagger_k8s_create_storage_v1beta1_csi_node
: create a CSINodeswagger_k8s_create_storage_v1beta1_storage_class
: create a StorageClassswagger_k8s_create_storage_v1beta1_volume_attachment
: create a VolumeAttachmentswagger_k8s_delete_admissionregistration_v1beta1_collection_mutating_webhook_configuration
: delete collection of MutatingWebhookConfigurationswagger_k8s_delete_admissionregistration_v1beta1_collection_validating_webhook_configuration
: delete collection of ValidatingWebhookConfigurationswagger_k8s_delete_admissionregistration_v1beta1_mutating_webhook_configuration
: delete a MutatingWebhookConfigurationswagger_k8s_delete_admissionregistration_v1beta1_validating_webhook_configuration
: delete a ValidatingWebhookConfigurationswagger_k8s_delete_apiextensions_v1beta1_collection_custom_resource_definition
: delete collection of CustomResourceDefinitionswagger_k8s_delete_apiextensions_v1beta1_custom_resource_definition
: delete a CustomResourceDefinitionswagger_k8s_delete_apiregistration_v1_api_service
: delete an APIServiceswagger_k8s_delete_apiregistration_v1_collection_api_service
: delete collection of APIServiceswagger_k8s_delete_apiregistration_v1beta1_api_service
: delete an APIServiceswagger_k8s_delete_apiregistration_v1beta1_collection_api_service
: delete collection of APIServiceswagger_k8s_delete_apps_v1_collection_namespaced_controller_revision
: delete collection of ControllerRevisionswagger_k8s_delete_apps_v1_collection_namespaced_daemon_set
: delete collection of DaemonSetswagger_k8s_delete_apps_v1_collection_namespaced_deployment
: delete collection of Deploymentswagger_k8s_delete_apps_v1_collection_namespaced_replica_set
: delete collection of ReplicaSetswagger_k8s_delete_apps_v1_collection_namespaced_stateful_set
: delete collection of StatefulSetswagger_k8s_delete_apps_v1_namespaced_controller_revision
: delete a ControllerRevisionswagger_k8s_delete_apps_v1_namespaced_daemon_set
: delete a DaemonSetswagger_k8s_delete_apps_v1_namespaced_deployment
: delete a Deploymentswagger_k8s_delete_apps_v1_namespaced_replica_set
: delete a ReplicaSetswagger_k8s_delete_apps_v1_namespaced_stateful_set
: delete a StatefulSetswagger_k8s_delete_apps_v1beta1_collection_namespaced_controller_revision
: delete collection of ControllerRevisionswagger_k8s_delete_apps_v1beta1_collection_namespaced_deployment
: delete collection of Deploymentswagger_k8s_delete_apps_v1beta1_collection_namespaced_stateful_set
: delete collection of StatefulSetswagger_k8s_delete_apps_v1beta1_namespaced_controller_revision
: delete a ControllerRevisionswagger_k8s_delete_apps_v1beta1_namespaced_deployment
: delete a Deploymentswagger_k8s_delete_apps_v1beta1_namespaced_stateful_set
: delete a StatefulSetswagger_k8s_delete_apps_v1beta2_collection_namespaced_controller_revision
: delete collection of ControllerRevisionswagger_k8s_delete_apps_v1beta2_collection_namespaced_daemon_set
: delete collection of DaemonSetswagger_k8s_delete_apps_v1beta2_collection_namespaced_deployment
: delete collection of Deploymentswagger_k8s_delete_apps_v1beta2_collection_namespaced_replica_set
: delete collection of ReplicaSetswagger_k8s_delete_apps_v1beta2_collection_namespaced_stateful_set
: delete collection of StatefulSetswagger_k8s_delete_apps_v1beta2_namespaced_controller_revision
: delete a ControllerRevisionswagger_k8s_delete_apps_v1beta2_namespaced_daemon_set
: delete a DaemonSetswagger_k8s_delete_apps_v1beta2_namespaced_deployment
: delete a Deploymentswagger_k8s_delete_apps_v1beta2_namespaced_replica_set
: delete a ReplicaSetswagger_k8s_delete_apps_v1beta2_namespaced_stateful_set
: delete a StatefulSetswagger_k8s_delete_auditregistration_v1alpha1_audit_sink
: delete an AuditSinkswagger_k8s_delete_auditregistration_v1alpha1_collection_audit_sink
: delete collection of AuditSinkswagger_k8s_delete_autoscaling_v1_collection_namespaced_horizontal_pod_autoscaler
: delete collection of HorizontalPodAutoscalerswagger_k8s_delete_autoscaling_v1_namespaced_horizontal_pod_autoscaler
: delete a HorizontalPodAutoscalerswagger_k8s_delete_autoscaling_v2beta1_collection_namespaced_horizontal_pod_autoscaler
: delete collection of HorizontalPodAutoscalerswagger_k8s_delete_autoscaling_v2beta1_namespaced_horizontal_pod_autoscaler
: delete a HorizontalPodAutoscalerswagger_k8s_delete_autoscaling_v2beta2_collection_namespaced_horizontal_pod_autoscaler
: delete collection of HorizontalPodAutoscalerswagger_k8s_delete_autoscaling_v2beta2_namespaced_horizontal_pod_autoscaler
: delete a HorizontalPodAutoscalerswagger_k8s_delete_batch_v1_collection_namespaced_job
: delete collection of Jobswagger_k8s_delete_batch_v1_namespaced_job
: delete a Jobswagger_k8s_delete_batch_v1beta1_collection_namespaced_cron_job
: delete collection of CronJobswagger_k8s_delete_batch_v1beta1_namespaced_cron_job
: delete a CronJobswagger_k8s_delete_batch_v2alpha1_collection_namespaced_cron_job
: delete collection of CronJobswagger_k8s_delete_batch_v2alpha1_namespaced_cron_job
: delete a CronJobswagger_k8s_delete_certificates_v1beta1_certificate_signing_request
: delete a CertificateSigningRequestswagger_k8s_delete_certificates_v1beta1_collection_certificate_signing_request
: delete collection of CertificateSigningRequestswagger_k8s_delete_coordination_v1_collection_namespaced_lease
: delete collection of Leaseswagger_k8s_delete_coordination_v1_namespaced_lease
: delete a Leaseswagger_k8s_delete_coordination_v1beta1_collection_namespaced_lease
: delete collection of Leaseswagger_k8s_delete_coordination_v1beta1_namespaced_lease
: delete a Leaseswagger_k8s_delete_core_v1_collection_namespaced_config_map
: delete collection of ConfigMapswagger_k8s_delete_core_v1_collection_namespaced_endpoints
: delete collection of Endpointsswagger_k8s_delete_core_v1_collection_namespaced_event
: delete collection of Eventswagger_k8s_delete_core_v1_collection_namespaced_limit_range
: delete collection of LimitRangeswagger_k8s_delete_core_v1_collection_namespaced_persistent_volume_claim
: delete collection of PersistentVolumeClaimswagger_k8s_delete_core_v1_collection_namespaced_pod
: delete collection of Podswagger_k8s_delete_core_v1_collection_namespaced_pod_template
: delete collection of PodTemplateswagger_k8s_delete_core_v1_collection_namespaced_replication_controller
: delete collection of ReplicationControllerswagger_k8s_delete_core_v1_collection_namespaced_resource_quota
: delete collection of ResourceQuotaswagger_k8s_delete_core_v1_collection_namespaced_secret
: delete collection of Secretswagger_k8s_delete_core_v1_collection_namespaced_service_account
: delete collection of ServiceAccountswagger_k8s_delete_core_v1_collection_node
: delete collection of Nodeswagger_k8s_delete_core_v1_collection_persistent_volume
: delete collection of PersistentVolumeswagger_k8s_delete_core_v1_namespace
: delete a Namespaceswagger_k8s_delete_core_v1_namespaced_config_map
: delete a ConfigMapswagger_k8s_delete_core_v1_namespaced_endpoints
: delete Endpointsswagger_k8s_delete_core_v1_namespaced_event
: delete an Eventswagger_k8s_delete_core_v1_namespaced_limit_range
: delete a LimitRangeswagger_k8s_delete_core_v1_namespaced_persistent_volume_claim
: delete a PersistentVolumeClaimswagger_k8s_delete_core_v1_namespaced_pod
: delete a Podswagger_k8s_delete_core_v1_namespaced_pod_template
: delete a PodTemplateswagger_k8s_delete_core_v1_namespaced_replication_controller
: delete a ReplicationControllerswagger_k8s_delete_core_v1_namespaced_resource_quota
: delete a ResourceQuotaswagger_k8s_delete_core_v1_namespaced_secret
: delete a Secretswagger_k8s_delete_core_v1_namespaced_service
: delete a Serviceswagger_k8s_delete_core_v1_namespaced_service_account
: delete a ServiceAccountswagger_k8s_delete_core_v1_node
: delete a Nodeswagger_k8s_delete_core_v1_persistent_volume
: delete a PersistentVolumeswagger_k8s_delete_events_v1beta1_collection_namespaced_event
: delete collection of Eventswagger_k8s_delete_events_v1beta1_namespaced_event
: delete an Eventswagger_k8s_delete_extensions_v1beta1_collection_namespaced_daemon_set
: delete collection of DaemonSetswagger_k8s_delete_extensions_v1beta1_collection_namespaced_deployment
: delete collection of Deploymentswagger_k8s_delete_extensions_v1beta1_collection_namespaced_ingress
: delete collection of Ingressswagger_k8s_delete_extensions_v1beta1_collection_namespaced_network_policy
: delete collection of NetworkPolicyswagger_k8s_delete_extensions_v1beta1_collection_namespaced_replica_set
: delete collection of ReplicaSetswagger_k8s_delete_extensions_v1beta1_collection_pod_security_policy
: delete collection of PodSecurityPolicyswagger_k8s_delete_extensions_v1beta1_namespaced_daemon_set
: delete a DaemonSetswagger_k8s_delete_extensions_v1beta1_namespaced_deployment
: delete a Deploymentswagger_k8s_delete_extensions_v1beta1_namespaced_ingress
: delete an Ingressswagger_k8s_delete_extensions_v1beta1_namespaced_network_policy
: delete a NetworkPolicyswagger_k8s_delete_extensions_v1beta1_namespaced_replica_set
: delete a ReplicaSetswagger_k8s_delete_extensions_v1beta1_pod_security_policy
: delete a PodSecurityPolicyswagger_k8s_delete_networking_v1_collection_namespaced_network_policy
: delete collection of NetworkPolicyswagger_k8s_delete_networking_v1_namespaced_network_policy
: delete a NetworkPolicyswagger_k8s_delete_networking_v1beta1_collection_namespaced_ingress
: delete collection of Ingressswagger_k8s_delete_networking_v1beta1_namespaced_ingress
: delete an Ingressswagger_k8s_delete_node_v1alpha1_collection_runtime_class
: delete collection of RuntimeClassswagger_k8s_delete_node_v1alpha1_runtime_class
: delete a RuntimeClassswagger_k8s_delete_node_v1beta1_collection_runtime_class
: delete collection of RuntimeClassswagger_k8s_delete_node_v1beta1_runtime_class
: delete a RuntimeClassswagger_k8s_delete_policy_v1beta1_collection_namespaced_pod_disruption_budget
: delete collection of PodDisruptionBudgetswagger_k8s_delete_policy_v1beta1_collection_pod_security_policy
: delete collection of PodSecurityPolicyswagger_k8s_delete_policy_v1beta1_namespaced_pod_disruption_budget
: delete a PodDisruptionBudgetswagger_k8s_delete_policy_v1beta1_pod_security_policy
: delete a PodSecurityPolicyswagger_k8s_delete_rbac_authorization_v1_cluster_role
: delete a ClusterRoleswagger_k8s_delete_rbac_authorization_v1_cluster_role_binding
: delete a ClusterRoleBindingswagger_k8s_delete_rbac_authorization_v1_collection_cluster_role
: delete collection of ClusterRoleswagger_k8s_delete_rbac_authorization_v1_collection_cluster_role_binding
: delete collection of ClusterRoleBindingswagger_k8s_delete_rbac_authorization_v1_collection_namespaced_role
: delete collection of Roleswagger_k8s_delete_rbac_authorization_v1_collection_namespaced_role_binding
: delete collection of RoleBindingswagger_k8s_delete_rbac_authorization_v1_namespaced_role
: delete a Roleswagger_k8s_delete_rbac_authorization_v1_namespaced_role_binding
: delete a RoleBindingswagger_k8s_delete_rbac_authorization_v1alpha1_cluster_role
: delete a ClusterRoleswagger_k8s_delete_rbac_authorization_v1alpha1_cluster_role_binding
: delete a ClusterRoleBindingswagger_k8s_delete_rbac_authorization_v1alpha1_collection_cluster_role
: delete collection of ClusterRoleswagger_k8s_delete_rbac_authorization_v1alpha1_collection_cluster_role_binding
: delete collection of ClusterRoleBindingswagger_k8s_delete_rbac_authorization_v1alpha1_collection_namespaced_role
: delete collection of Roleswagger_k8s_delete_rbac_authorization_v1alpha1_collection_namespaced_role_binding
: delete collection of RoleBindingswagger_k8s_delete_rbac_authorization_v1alpha1_namespaced_role
: delete a Roleswagger_k8s_delete_rbac_authorization_v1alpha1_namespaced_role_binding
: delete a RoleBindingswagger_k8s_delete_rbac_authorization_v1beta1_cluster_role
: delete a ClusterRoleswagger_k8s_delete_rbac_authorization_v1beta1_cluster_role_binding
: delete a ClusterRoleBindingswagger_k8s_delete_rbac_authorization_v1beta1_collection_cluster_role
: delete collection of ClusterRoleswagger_k8s_delete_rbac_authorization_v1beta1_collection_cluster_role_binding
: delete collection of ClusterRoleBindingswagger_k8s_delete_rbac_authorization_v1beta1_collection_namespaced_role
: delete collection of Roleswagger_k8s_delete_rbac_authorization_v1beta1_collection_namespaced_role_binding
: delete collection of RoleBindingswagger_k8s_delete_rbac_authorization_v1beta1_namespaced_role
: delete a Roleswagger_k8s_delete_rbac_authorization_v1beta1_namespaced_role_binding
: delete a RoleBindingswagger_k8s_delete_scheduling_v1_collection_priority_class
: delete collection of PriorityClassswagger_k8s_delete_scheduling_v1_priority_class
: delete a PriorityClassswagger_k8s_delete_scheduling_v1alpha1_collection_priority_class
: delete collection of PriorityClassswagger_k8s_delete_scheduling_v1alpha1_priority_class
: delete a PriorityClassswagger_k8s_delete_scheduling_v1beta1_collection_priority_class
: delete collection of PriorityClassswagger_k8s_delete_scheduling_v1beta1_priority_class
: delete a PriorityClassswagger_k8s_delete_settings_v1alpha1_collection_namespaced_pod_preset
: delete collection of PodPresetswagger_k8s_delete_settings_v1alpha1_namespaced_pod_preset
: delete a PodPresetswagger_k8s_delete_storage_v1_collection_storage_class
: delete collection of StorageClassswagger_k8s_delete_storage_v1_collection_volume_attachment
: delete collection of VolumeAttachmentswagger_k8s_delete_storage_v1_storage_class
: delete a StorageClassswagger_k8s_delete_storage_v1_volume_attachment
: delete a VolumeAttachmentswagger_k8s_delete_storage_v1alpha1_collection_volume_attachment
: delete collection of VolumeAttachmentswagger_k8s_delete_storage_v1alpha1_volume_attachment
: delete a VolumeAttachmentswagger_k8s_delete_storage_v1beta1_collection_csi_driver
: delete collection of CSIDriverswagger_k8s_delete_storage_v1beta1_collection_csi_node
: delete collection of CSINodeswagger_k8s_delete_storage_v1beta1_collection_storage_class
: delete collection of StorageClassswagger_k8s_delete_storage_v1beta1_collection_volume_attachment
: delete collection of VolumeAttachmentswagger_k8s_delete_storage_v1beta1_csi_driver
: delete a CSIDriverswagger_k8s_delete_storage_v1beta1_csi_node
: delete a CSINodeswagger_k8s_delete_storage_v1beta1_storage_class
: delete a StorageClassswagger_k8s_delete_storage_v1beta1_volume_attachment
: delete a VolumeAttachmentswagger_k8s_get_admissionregistration_api_group
: get information of a groupswagger_k8s_get_admissionregistration_v1beta1_api_resources
: get available resourcesswagger_k8s_get_api_versions
: get available API versionsswagger_k8s_get_apiextensions_api_group
: get information of a groupswagger_k8s_get_apiextensions_v1beta1_api_resources
: get available resourcesswagger_k8s_get_apiregistration_api_group
: get information of a groupswagger_k8s_get_apiregistration_v1_api_resources
: get available resourcesswagger_k8s_get_apiregistration_v1beta1_api_resources
: get available resourcesswagger_k8s_get_apps_api_group
: get information of a groupswagger_k8s_get_apps_v1_api_resources
: get available resourcesswagger_k8s_get_apps_v1beta1_api_resources
: get available resourcesswagger_k8s_get_apps_v1beta2_api_resources
: get available resourcesswagger_k8s_get_auditregistration_api_group
: get information of a groupswagger_k8s_get_auditregistration_v1alpha1_api_resources
: get available resourcesswagger_k8s_get_authentication_api_group
: get information of a groupswagger_k8s_get_authentication_v1_api_resources
: get available resourcesswagger_k8s_get_authentication_v1beta1_api_resources
: get available resourcesswagger_k8s_get_authorization_api_group
: get information of a groupswagger_k8s_get_authorization_v1_api_resources
: get available resourcesswagger_k8s_get_authorization_v1beta1_api_resources
: get available resourcesswagger_k8s_get_autoscaling_api_group
: get information of a groupswagger_k8s_get_autoscaling_v1_api_resources
: get available resourcesswagger_k8s_get_autoscaling_v2beta1_api_resources
: get available resourcesswagger_k8s_get_autoscaling_v2beta2_api_resources
: get available resourcesswagger_k8s_get_batch_api_group
: get information of a groupswagger_k8s_get_batch_v1_api_resources
: get available resourcesswagger_k8s_get_batch_v1beta1_api_resources
: get available resourcesswagger_k8s_get_batch_v2alpha1_api_resources
: get available resourcesswagger_k8s_get_certificates_api_group
: get information of a groupswagger_k8s_get_certificates_v1beta1_api_resources
: get available resourcesswagger_k8s_get_coordination_api_group
: get information of a groupswagger_k8s_get_coordination_v1_api_resources
: get available resourcesswagger_k8s_get_coordination_v1beta1_api_resources
: get available resourcesswagger_k8s_get_core_api_versions
: get available API versionsswagger_k8s_get_core_v1_api_resources
: get available resourcesswagger_k8s_get_events_api_group
: get information of a groupswagger_k8s_get_events_v1beta1_api_resources
: get available resourcesswagger_k8s_get_extensions_api_group
: get information of a groupswagger_k8s_get_extensions_v1beta1_api_resources
: get available resourcesswagger_k8s_get_networking_api_group
: get information of a groupswagger_k8s_get_networking_v1_api_resources
: get available resourcesswagger_k8s_get_networking_v1beta1_api_resources
: get available resourcesswagger_k8s_get_node_api_group
: get information of a groupswagger_k8s_get_node_v1alpha1_api_resources
: get available resourcesswagger_k8s_get_node_v1beta1_api_resources
: get available resourcesswagger_k8s_get_policy_api_group
: get information of a groupswagger_k8s_get_policy_v1beta1_api_resources
: get available resourcesswagger_k8s_get_rbac_authorization_api_group
: get information of a groupswagger_k8s_get_rbac_authorization_v1_api_resources
: get available resourcesswagger_k8s_get_rbac_authorization_v1alpha1_api_resources
: get available resourcesswagger_k8s_get_rbac_authorization_v1beta1_api_resources
: get available resourcesswagger_k8s_get_scheduling_api_group
: get information of a groupswagger_k8s_get_scheduling_v1_api_resources
: get available resourcesswagger_k8s_get_scheduling_v1alpha1_api_resources
: get available resourcesswagger_k8s_get_scheduling_v1beta1_api_resources
: get available resourcesswagger_k8s_get_settings_api_group
: get information of a groupswagger_k8s_get_settings_v1alpha1_api_resources
: get available resourcesswagger_k8s_get_storage_api_group
: get information of a groupswagger_k8s_get_storage_v1_api_resources
: get available resourcesswagger_k8s_get_storage_v1alpha1_api_resources
: get available resourcesswagger_k8s_get_storage_v1beta1_api_resources
: get available resourcesswagger_k8s_list_admissionregistration_v1beta1_mutating_webhook_configuration
: list or watch objects of kind MutatingWebhookConfigurationswagger_k8s_list_admissionregistration_v1beta1_validating_webhook_configuration
: list or watch objects of kind ValidatingWebhookConfigurationswagger_k8s_list_apiextensions_v1beta1_custom_resource_definition
: list or watch objects of kind CustomResourceDefinitionswagger_k8s_list_apiregistration_v1_api_service
: list or watch objects of kind APIServiceswagger_k8s_list_apiregistration_v1beta1_api_service
: list or watch objects of kind APIServiceswagger_k8s_list_apps_v1_controller_revision_for_all_namespaces
: list or watch objects of kind ControllerRevisionswagger_k8s_list_apps_v1_daemon_set_for_all_namespaces
: list or watch objects of kind DaemonSetswagger_k8s_list_apps_v1_deployment_for_all_namespaces
: list or watch objects of kind Deploymentswagger_k8s_list_apps_v1_replica_set_for_all_namespaces
: list or watch objects of kind ReplicaSetswagger_k8s_list_apps_v1_stateful_set_for_all_namespaces
: list or watch objects of kind StatefulSetswagger_k8s_list_apps_v1beta1_controller_revision_for_all_namespaces
: list or watch objects of kind ControllerRevisionswagger_k8s_list_apps_v1beta1_deployment_for_all_namespaces
: list or watch objects of kind Deploymentswagger_k8s_list_apps_v1beta1_stateful_set_for_all_namespaces
: list or watch objects of kind StatefulSetswagger_k8s_list_apps_v1beta2_controller_revision_for_all_namespaces
: list or watch objects of kind ControllerRevisionswagger_k8s_list_apps_v1beta2_daemon_set_for_all_namespaces
: list or watch objects of kind DaemonSetswagger_k8s_list_apps_v1beta2_deployment_for_all_namespaces
: list or watch objects of kind Deploymentswagger_k8s_list_apps_v1beta2_replica_set_for_all_namespaces
: list or watch objects of kind ReplicaSetswagger_k8s_list_apps_v1beta2_stateful_set_for_all_namespaces
: list or watch objects of kind StatefulSetswagger_k8s_list_auditregistration_v1alpha1_audit_sink
: list or watch objects of kind AuditSinkswagger_k8s_list_autoscaling_v1_horizontal_pod_autoscaler_for_all_namespaces
: list or watch objects of kind HorizontalPodAutoscalerswagger_k8s_list_autoscaling_v2beta1_horizontal_pod_autoscaler_for_all_namespaces
: list or watch objects of kind HorizontalPodAutoscalerswagger_k8s_list_autoscaling_v2beta2_horizontal_pod_autoscaler_for_all_namespaces
: list or watch objects of kind HorizontalPodAutoscalerswagger_k8s_list_batch_v1_job_for_all_namespaces
: list or watch objects of kind Jobswagger_k8s_list_batch_v1beta1_cron_job_for_all_namespaces
: list or watch objects of kind CronJobswagger_k8s_list_batch_v2alpha1_cron_job_for_all_namespaces
: list or watch objects of kind CronJobswagger_k8s_list_certificates_v1beta1_certificate_signing_request
: list or watch objects of kind CertificateSigningRequestswagger_k8s_list_coordination_v1_lease_for_all_namespaces
: list or watch objects of kind Leaseswagger_k8s_list_coordination_v1beta1_lease_for_all_namespaces
: list or watch objects of kind Leaseswagger_k8s_list_core_v1_component_status
: list objects of kind ComponentStatusswagger_k8s_list_core_v1_config_map_for_all_namespaces
: list or watch objects of kind ConfigMapswagger_k8s_list_core_v1_endpoints_for_all_namespaces
: list or watch objects of kind Endpointsswagger_k8s_list_core_v1_event_for_all_namespaces
: list or watch objects of kind Eventswagger_k8s_list_core_v1_limit_range_for_all_namespaces
: list or watch objects of kind LimitRangeswagger_k8s_list_core_v1_namespace
: list or watch objects of kind Namespaceswagger_k8s_list_core_v1_node
: list or watch objects of kind Nodeswagger_k8s_list_core_v1_persistent_volume
: list or watch objects of kind PersistentVolumeswagger_k8s_list_core_v1_persistent_volume_claim_for_all_namespaces
: list or watch objects of kind PersistentVolumeClaimswagger_k8s_list_core_v1_pod_for_all_namespaces
: list or watch objects of kind Podswagger_k8s_list_core_v1_pod_template_for_all_namespaces
: list or watch objects of kind PodTemplateswagger_k8s_list_core_v1_replication_controller_for_all_namespaces
: list or watch objects of kind ReplicationControllerswagger_k8s_list_core_v1_resource_quota_for_all_namespaces
: list or watch objects of kind ResourceQuotaswagger_k8s_list_core_v1_secret_for_all_namespaces
: list or watch objects of kind Secretswagger_k8s_list_core_v1_service_account_for_all_namespaces
: list or watch objects of kind ServiceAccountswagger_k8s_list_core_v1_service_for_all_namespaces
: list or watch objects of kind Serviceswagger_k8s_list_events_v1beta1_event_for_all_namespaces
: list or watch objects of kind Eventswagger_k8s_list_extensions_v1beta1_daemon_set_for_all_namespaces
: list or watch objects of kind DaemonSetswagger_k8s_list_extensions_v1beta1_deployment_for_all_namespaces
: list or watch objects of kind Deploymentswagger_k8s_list_extensions_v1beta1_ingress_for_all_namespaces
: list or watch objects of kind Ingressswagger_k8s_list_extensions_v1beta1_network_policy_for_all_namespaces
: list or watch objects of kind NetworkPolicyswagger_k8s_list_extensions_v1beta1_pod_security_policy
: list or watch objects of kind PodSecurityPolicyswagger_k8s_list_extensions_v1beta1_replica_set_for_all_namespaces
: list or watch objects of kind ReplicaSetswagger_k8s_list_networking_v1_network_policy_for_all_namespaces
: list or watch objects of kind NetworkPolicyswagger_k8s_list_networking_v1beta1_ingress_for_all_namespaces
: list or watch objects of kind Ingressswagger_k8s_list_node_v1alpha1_runtime_class
: list or watch objects of kind RuntimeClassswagger_k8s_list_node_v1beta1_runtime_class
: list or watch objects of kind RuntimeClassswagger_k8s_list_policy_v1beta1_pod_disruption_budget_for_all_namespaces
: list or watch objects of kind PodDisruptionBudgetswagger_k8s_list_policy_v1beta1_pod_security_policy
: list or watch objects of kind PodSecurityPolicyswagger_k8s_list_rbac_authorization_v1_cluster_role
: list or watch objects of kind ClusterRoleswagger_k8s_list_rbac_authorization_v1_cluster_role_binding
: list or watch objects of kind ClusterRoleBindingswagger_k8s_list_rbac_authorization_v1_role_binding_for_all_namespaces
: list or watch objects of kind RoleBindingswagger_k8s_list_rbac_authorization_v1_role_for_all_namespaces
: list or watch objects of kind Roleswagger_k8s_list_rbac_authorization_v1alpha1_cluster_role
: list or watch objects of kind ClusterRoleswagger_k8s_list_rbac_authorization_v1alpha1_cluster_role_binding
: list or watch objects of kind ClusterRoleBindingswagger_k8s_list_rbac_authorization_v1alpha1_role_binding_for_all_namespaces
: list or watch objects of kind RoleBindingswagger_k8s_list_rbac_authorization_v1alpha1_role_for_all_namespaces
: list or watch objects of kind Roleswagger_k8s_list_rbac_authorization_v1beta1_cluster_role
: list or watch objects of kind ClusterRoleswagger_k8s_list_rbac_authorization_v1beta1_cluster_role_binding
: list or watch objects of kind ClusterRoleBindingswagger_k8s_list_rbac_authorization_v1beta1_role_binding_for_all_namespaces
: list or watch objects of kind RoleBindingswagger_k8s_list_rbac_authorization_v1beta1_role_for_all_namespaces
: list or watch objects of kind Roleswagger_k8s_list_scheduling_v1_priority_class
: list or watch objects of kind PriorityClassswagger_k8s_list_scheduling_v1alpha1_priority_class
: list or watch objects of kind PriorityClassswagger_k8s_list_scheduling_v1beta1_priority_class
: list or watch objects of kind PriorityClassswagger_k8s_list_settings_v1alpha1_pod_preset_for_all_namespaces
: list or watch objects of kind PodPresetswagger_k8s_list_storage_v1_storage_class
: list or watch objects of kind StorageClassswagger_k8s_list_storage_v1_volume_attachment
: list or watch objects of kind VolumeAttachmentswagger_k8s_list_storage_v1alpha1_volume_attachment
: list or watch objects of kind VolumeAttachmentswagger_k8s_list_storage_v1beta1_csi_driver
: list or watch objects of kind CSIDriverswagger_k8s_list_storage_v1beta1_csi_node
: list or watch objects of kind CSINodeswagger_k8s_list_storage_v1beta1_storage_class
: list or watch objects of kind StorageClassswagger_k8s_list_storage_v1beta1_volume_attachment
: list or watch objects of kind VolumeAttachmentswagger_k8s_read_admissionregistration_v1beta1_mutating_webhook_configuration
: read the specified MutatingWebhookConfigurationswagger_k8s_read_admissionregistration_v1beta1_validating_webhook_configuration
: read the specified ValidatingWebhookConfigurationswagger_k8s_read_core_v1_namespaced_service_account
: read the specified ServiceAccountswagger_k8s_read_rbac_authorization_v1_cluster_role_binding
: read the specified ClusterRoleBindingswagger_k8s_read_rbac_authorization_v1_namespaced_role_binding
: read the specified RoleBindingswagger_k8s_read_rbac_authorization_v1alpha1_cluster_role_binding
: read the specified ClusterRoleBindingswagger_k8s_read_rbac_authorization_v1alpha1_namespaced_role_binding
: read the specified RoleBindingswagger_k8s_read_rbac_authorization_v1beta1_cluster_role_binding
: read the specified ClusterRoleBindingswagger_k8s_read_rbac_authorization_v1beta1_namespaced_role_binding
: read the specified RoleBindingswagger_k8s_replace_admissionregistration_v1beta1_mutating_webhook_configuration
: replace the specified MutatingWebhookConfigurationswagger_k8s_replace_admissionregistration_v1beta1_validating_webhook_configuration
: replace the specified ValidatingWebhookConfigurationswagger_k8s_replace_apiextensions_v1beta1_custom_resource_definition
: replace the specified CustomResourceDefinitionswagger_k8s_replace_apiextensions_v1beta1_custom_resource_definition_status
: replace status of the specified CustomResourceDefinitionswagger_k8s_replace_apiregistration_v1_api_service
: replace the specified APIServiceswagger_k8s_replace_apiregistration_v1_api_service_status
: replace status of the specified APIServiceswagger_k8s_replace_apiregistration_v1beta1_api_service
: replace the specified APIServiceswagger_k8s_replace_apiregistration_v1beta1_api_service_status
: replace status of the specified APIServiceswagger_k8s_replace_apps_v1_namespaced_controller_revision
: replace the specified ControllerRevisionswagger_k8s_replace_apps_v1_namespaced_daemon_set
: replace the specified DaemonSetswagger_k8s_replace_apps_v1_namespaced_daemon_set_status
: replace status of the specified DaemonSetswagger_k8s_replace_apps_v1_namespaced_deployment
: replace the specified Deploymentswagger_k8s_replace_apps_v1_namespaced_deployment_scale
: replace scale of the specified Deploymentswagger_k8s_replace_apps_v1_namespaced_deployment_status
: replace status of the specified Deploymentswagger_k8s_replace_apps_v1_namespaced_replica_set
: replace the specified ReplicaSetswagger_k8s_replace_apps_v1_namespaced_replica_set_scale
: replace scale of the specified ReplicaSetswagger_k8s_replace_apps_v1_namespaced_replica_set_status
: replace status of the specified ReplicaSetswagger_k8s_replace_apps_v1_namespaced_stateful_set
: replace the specified StatefulSetswagger_k8s_replace_apps_v1_namespaced_stateful_set_scale
: replace scale of the specified StatefulSetswagger_k8s_replace_apps_v1_namespaced_stateful_set_status
: replace status of the specified StatefulSetswagger_k8s_replace_apps_v1beta1_namespaced_controller_revision
: replace the specified ControllerRevisionswagger_k8s_replace_apps_v1beta1_namespaced_deployment
: replace the specified Deploymentswagger_k8s_replace_apps_v1beta1_namespaced_deployment_scale
: replace scale of the specified Deploymentswagger_k8s_replace_apps_v1beta1_namespaced_deployment_status
: replace status of the specified Deploymentswagger_k8s_replace_apps_v1beta1_namespaced_stateful_set
: replace the specified StatefulSetswagger_k8s_replace_apps_v1beta1_namespaced_stateful_set_scale
: replace scale of the specified StatefulSetswagger_k8s_replace_apps_v1beta1_namespaced_stateful_set_status
: replace status of the specified StatefulSetswagger_k8s_replace_apps_v1beta2_namespaced_controller_revision
: replace the specified ControllerRevisionswagger_k8s_replace_apps_v1beta2_namespaced_daemon_set
: replace the specified DaemonSetswagger_k8s_replace_apps_v1beta2_namespaced_daemon_set_status
: replace status of the specified DaemonSetswagger_k8s_replace_apps_v1beta2_namespaced_deployment
: replace the specified Deploymentswagger_k8s_replace_apps_v1beta2_namespaced_deployment_scale
: replace scale of the specified Deploymentswagger_k8s_replace_apps_v1beta2_namespaced_deployment_status
: replace status of the specified Deploymentswagger_k8s_replace_apps_v1beta2_namespaced_replica_set
: replace the specified ReplicaSetswagger_k8s_replace_apps_v1beta2_namespaced_replica_set_scale
: replace scale of the specified ReplicaSetswagger_k8s_replace_apps_v1beta2_namespaced_replica_set_status
: replace status of the specified ReplicaSetswagger_k8s_replace_apps_v1beta2_namespaced_stateful_set
: replace the specified StatefulSetswagger_k8s_replace_apps_v1beta2_namespaced_stateful_set_scale
: replace scale of the specified StatefulSetswagger_k8s_replace_apps_v1beta2_namespaced_stateful_set_status
: replace status of the specified StatefulSetswagger_k8s_replace_auditregistration_v1alpha1_audit_sink
: replace the specified AuditSinkswagger_k8s_replace_autoscaling_v1_namespaced_horizontal_pod_autoscaler
: replace the specified HorizontalPodAutoscalerswagger_k8s_replace_autoscaling_v1_namespaced_horizontal_pod_autoscaler_status
: replace status of the specified HorizontalPodAutoscalerswagger_k8s_replace_autoscaling_v2beta1_namespaced_horizontal_pod_autoscaler
: replace the specified HorizontalPodAutoscalerswagger_k8s_replace_autoscaling_v2beta1_namespaced_horizontal_pod_autoscaler_status
: replace status of the specified HorizontalPodAutoscalerswagger_k8s_replace_autoscaling_v2beta2_namespaced_horizontal_pod_autoscaler
: replace the specified HorizontalPodAutoscalerswagger_k8s_replace_autoscaling_v2beta2_namespaced_horizontal_pod_autoscaler_status
: replace status of the specified HorizontalPodAutoscalerswagger_k8s_replace_batch_v1_namespaced_job
: replace the specified Jobswagger_k8s_replace_batch_v1_namespaced_job_status
: replace status of the specified Jobswagger_k8s_replace_batch_v1beta1_namespaced_cron_job
: replace the specified CronJobswagger_k8s_replace_batch_v1beta1_namespaced_cron_job_status
: replace status of the specified CronJobswagger_k8s_replace_batch_v2alpha1_namespaced_cron_job
: replace the specified CronJobswagger_k8s_replace_batch_v2alpha1_namespaced_cron_job_status
: replace status of the specified CronJobswagger_k8s_replace_certificates_v1beta1_certificate_signing_request
: replace the specified CertificateSigningRequestswagger_k8s_replace_certificates_v1beta1_certificate_signing_request_approval
: replace approval of the specified CertificateSigningRequestswagger_k8s_replace_certificates_v1beta1_certificate_signing_request_status
: replace status of the specified CertificateSigningRequestswagger_k8s_replace_coordination_v1_namespaced_lease
: replace the specified Leaseswagger_k8s_replace_coordination_v1beta1_namespaced_lease
: replace the specified Leaseswagger_k8s_replace_core_v1_namespace
: replace the specified Namespaceswagger_k8s_replace_core_v1_namespace_finalize
: replace finalize of the specified Namespaceswagger_k8s_replace_core_v1_namespace_status
: replace status of the specified Namespaceswagger_k8s_replace_core_v1_namespaced_config_map
: replace the specified ConfigMapswagger_k8s_replace_core_v1_namespaced_endpoints
: replace the specified Endpointsswagger_k8s_replace_core_v1_namespaced_event
: replace the specified Eventswagger_k8s_replace_core_v1_namespaced_limit_range
: replace the specified LimitRangeswagger_k8s_replace_core_v1_namespaced_persistent_volume_claim
: replace the specified PersistentVolumeClaimswagger_k8s_replace_core_v1_namespaced_persistent_volume_claim_status
: replace status of the specified PersistentVolumeClaimswagger_k8s_replace_core_v1_namespaced_pod
: replace the specified Podswagger_k8s_replace_core_v1_namespaced_pod_status
: replace status of the specified Podswagger_k8s_replace_core_v1_namespaced_pod_template
: replace the specified PodTemplateswagger_k8s_replace_core_v1_namespaced_replication_controller
: replace the specified ReplicationControllerswagger_k8s_replace_core_v1_namespaced_replication_controller_scale
: replace scale of the specified ReplicationControllerswagger_k8s_replace_core_v1_namespaced_replication_controller_status
: replace status of the specified ReplicationControllerswagger_k8s_replace_core_v1_namespaced_resource_quota
: replace the specified ResourceQuotaswagger_k8s_replace_core_v1_namespaced_resource_quota_status
: replace status of the specified ResourceQuotaswagger_k8s_replace_core_v1_namespaced_secret
: replace the specified Secretswagger_k8s_replace_core_v1_namespaced_service
: replace the specified Serviceswagger_k8s_replace_core_v1_namespaced_service_account
: replace the specified ServiceAccountswagger_k8s_replace_core_v1_namespaced_service_status
: replace status of the specified Serviceswagger_k8s_replace_core_v1_node
: replace the specified Nodeswagger_k8s_replace_core_v1_node_status
: replace status of the specified Nodeswagger_k8s_replace_core_v1_persistent_volume
: replace the specified PersistentVolumeswagger_k8s_replace_core_v1_persistent_volume_status
: replace status of the specified PersistentVolumeswagger_k8s_replace_events_v1beta1_namespaced_event
: replace the specified Eventswagger_k8s_replace_extensions_v1beta1_namespaced_daemon_set
: replace the specified DaemonSetswagger_k8s_replace_extensions_v1beta1_namespaced_daemon_set_status
: replace status of the specified DaemonSetswagger_k8s_replace_extensions_v1beta1_namespaced_deployment
: replace the specified Deploymentswagger_k8s_replace_extensions_v1beta1_namespaced_deployment_scale
: replace scale of the specified Deploymentswagger_k8s_replace_extensions_v1beta1_namespaced_deployment_status
: replace status of the specified Deploymentswagger_k8s_replace_extensions_v1beta1_namespaced_ingress
: replace the specified Ingressswagger_k8s_replace_extensions_v1beta1_namespaced_ingress_status
: replace status of the specified Ingressswagger_k8s_replace_extensions_v1beta1_namespaced_network_policy
: replace the specified NetworkPolicyswagger_k8s_replace_extensions_v1beta1_namespaced_replica_set
: replace the specified ReplicaSetswagger_k8s_replace_extensions_v1beta1_namespaced_replica_set_scale
: replace scale of the specified ReplicaSetswagger_k8s_replace_extensions_v1beta1_namespaced_replica_set_status
: replace status of the specified ReplicaSetswagger_k8s_replace_extensions_v1beta1_namespaced_replication_controller_dummy_scale
: replace scale of the specified ReplicationControllerDummyswagger_k8s_replace_extensions_v1beta1_pod_security_policy
: replace the specified PodSecurityPolicyswagger_k8s_replace_networking_v1_namespaced_network_policy
: replace the specified NetworkPolicyswagger_k8s_replace_networking_v1beta1_namespaced_ingress
: replace the specified Ingressswagger_k8s_replace_networking_v1beta1_namespaced_ingress_status
: replace status of the specified Ingressswagger_k8s_replace_node_v1alpha1_runtime_class
: replace the specified RuntimeClassswagger_k8s_replace_node_v1beta1_runtime_class
: replace the specified RuntimeClassswagger_k8s_replace_policy_v1beta1_namespaced_pod_disruption_budget
: replace the specified PodDisruptionBudgetswagger_k8s_replace_policy_v1beta1_namespaced_pod_disruption_budget_status
: replace status of the specified PodDisruptionBudgetswagger_k8s_replace_policy_v1beta1_pod_security_policy
: replace the specified PodSecurityPolicyswagger_k8s_replace_rbac_authorization_v1_cluster_role
: replace the specified ClusterRoleswagger_k8s_replace_rbac_authorization_v1_cluster_role_binding
: replace the specified ClusterRoleBindingswagger_k8s_replace_rbac_authorization_v1_namespaced_role
: replace the specified Roleswagger_k8s_replace_rbac_authorization_v1_namespaced_role_binding
: replace the specified RoleBindingswagger_k8s_replace_rbac_authorization_v1alpha1_cluster_role
: replace the specified ClusterRoleswagger_k8s_replace_rbac_authorization_v1alpha1_cluster_role_binding
: replace the specified ClusterRoleBindingswagger_k8s_replace_rbac_authorization_v1alpha1_namespaced_role
: replace the specified Roleswagger_k8s_replace_rbac_authorization_v1alpha1_namespaced_role_binding
: replace the specified RoleBindingswagger_k8s_replace_rbac_authorization_v1beta1_cluster_role
: replace the specified ClusterRoleswagger_k8s_replace_rbac_authorization_v1beta1_cluster_role_binding
: replace the specified ClusterRoleBindingswagger_k8s_replace_rbac_authorization_v1beta1_namespaced_role
: replace the specified Roleswagger_k8s_replace_rbac_authorization_v1beta1_namespaced_role_binding
: replace the specified RoleBindingswagger_k8s_replace_scheduling_v1_priority_class
: replace the specified PriorityClassswagger_k8s_replace_scheduling_v1alpha1_priority_class
: replace the specified PriorityClassswagger_k8s_replace_scheduling_v1beta1_priority_class
: replace the specified PriorityClassswagger_k8s_replace_settings_v1alpha1_namespaced_pod_preset
: replace the specified PodPresetswagger_k8s_replace_storage_v1_storage_class
: replace the specified StorageClassswagger_k8s_replace_storage_v1_volume_attachment
: replace the specified VolumeAttachmentswagger_k8s_replace_storage_v1_volume_attachment_status
: replace status of the specified VolumeAttachmentswagger_k8s_replace_storage_v1alpha1_volume_attachment
: replace the specified VolumeAttachmentswagger_k8s_replace_storage_v1beta1_csi_driver
: replace the specified CSIDriverswagger_k8s_replace_storage_v1beta1_csi_node
: replace the specified CSINodeswagger_k8s_replace_storage_v1beta1_storage_class
: replace the specified StorageClassswagger_k8s_replace_storage_v1beta1_volume_attachment
: replace the specified VolumeAttachment
Plans
k8s::deploy
: This plan is meant to create a deployment and a service on Kubernetes To run this plan you will have to enable the anonymous user access to ykubernetes::provision_cluster
: Provisions machineskubernetes::puppetserver_setup
: Provisions machines
Classes
kubernetes
Class: kubernetes
A module to build a Kubernetes cluster https://kubernetes.io/
Parameters
[kubernetes_version] The version of Kubernetes containers you want to install. ie api server, Defaults to 1.10.2
[kubernetes_cluster_name] The name of the cluster, for use when multiple clusters are accessed from the same source Only used by Kubernetes 1.12+ Defaults to "kubernetes"
[kubernetes_package_version] The version of the packages the Kubernetes os packages to install ie kubectl and kubelet Defaults to 1.10.2
[container_runtime] This is the runtime that the Kubernetes cluster will use. It can only be set to "cri_containerd" or "docker" Defaults to docker
[containerd_version] This is the version of the containerd runtime the module will install. Defaults to 1.1.0
[containerd_install_method] Whether to install containerd via archive or package. Defaults to archive
[containerd_package_name] containerd package name Defaults to containerd.io
[containerd_archive] The name of the containerd archive Defaults to containerd-${containerd_version}.linux-amd64.tar.gz
[containerd_archive_checksum] A checksum (sha-256) of the archive. If the checksum does not match, a reinstall will be executed and the related service will be restarted. If no checksum is defined, the puppet module checks for the extracted files of the archive and downloads and extracts the files if they do not exist.
[containerd_source] The URL to download the containerd archive Defaults to https://github.com/containerd/containerd/releases/download/v${containerd_version}/${containerd_archive}
[containerd_config_template] The template to use for containerd configuration This value is ignored if containerd_config_source is defined Default to 'kubernetes/containerd/config.toml.epp'
[containerd_config_source] The source of the containerd configuration This value overrides containerd_config_template Default to undef
[containerd_socket] The path to containerd GRPC socket Defaults to /run/containerd/containerd.sock
[containerd_plugins_registry]
The configuration for the image registries used by containerd when containerd_install_method is package.
See https://github.com/containerd/containerd/blob/master/docs/cri/registry.md
Defaults to undef
[containerd_default_runtime_name] The default runtime to use with containerd Defaults to runc
[containerd_sandbox_image] The configuration for the image pause container Defaults registry.k8s.io/pause:3.2
[dns_domain] This is a string that sets the dns domain in kubernetes cluster Default cluster.local
[docker_version] This is the version of the docker runtime that you want to install. Defaults to 17.03.0.ce-1.el7.centos on RedHat Defaults to 5:20.10.11~3-0~ubuntu-(distro codename) on Ubuntu
[docker_package_name] The docker package name to download from an upstream repo Defaults to docker-engine
[cni_pod_cidr] The overlay (internal) network range to use. Defaults to undef. kube_tool sets this per cni provider.
[cni_network_preinstall]
The URL to install the Tigera operator. Used only by calico.
[cni_network_provider]
The URL to get the cni providers yaml file.
Defaults to undef
. kube_tool
sets this value.
[cni_provider]
The NAME of the CNI provider, as provided to kubetool.
[cni_rbac_binding]
The URL get the cni providers rbac rules. This is for use with Calico only.
Defaults to undef
.
[controller] This is a bool that sets the node as a Kubernetes controller Defaults to false
[worker] This is a bool that sets a node to a worker. defaults to false
[manage_docker] Whether or not to install Docker repositories and packages via this module. Defaults to true.
[manage_etcd] When set to true, etcd will be downloaded from the specified source URL. Defaults to true.
[kube_api_advertise_address] This is the ip address that the want to api server to expose. An example with hiera would be kubernetes::kube_api_advertise_address: "%{networking.ip}" Or to pin explicitly to a specific interface kubernetes::kube_api_advertise_address: "%{::ipaddress_enp0s8}" defaults to undef
[kube_api_bind_port] Apiserver bind port Defaults to 6443
[etcd_version] The version of etcd that you would like to use. Defaults to 3.2.18
[etcd_archive] The name of the etcd archive Defaults to etcd-v${etcd_version}-linux-amd64.tar.gz
[etcd_archive_checksum] A checksum (sha-256) of the archive. If the checksum does not match, a reinstall will be executed and the related service will be restarted. If no checksum is defined, the puppet module checks for the extracted files of the archive and downloads and extracts the files if they do not exist.
[etcd_source] The URL to download the etcd archive Defaults to https://github.com/coreos/etcd/releases/download/v${etcd_version}/${etcd_archive}
[etcd_install_method] The method on how to install etcd. Can be either wget (using etcd_source) or package (using $etcd_package_name) Defaults to wget
[etcd_package_name] The system package name for installing etcd Defaults to etcd-server
[runc_version] The version of runc to install Defaults to 1.0.0
[runc_source] The URL to download runc Defaults to https://github.com/opencontainers/runc/releases/download/v${runc_version}/runc.amd64
[runc_source_checksum*] A checksum (sha-256) of the archive. If the checksum does not match, a reinstall will be executed and the related service will be restarted. If no checksum is defined, the puppet module checks for the extracted files of the archive and downloads and extracts the files if they do not exist.
[etcd_hostname] The name of the etcd instance. An example with hiera would be kubernetes::etcd_hostname: "%{::fqdn}" Defaults to hostname
[etcd_data_dir] Directory, where etcd data is stored. Defaults to /var/lib/etcd.
[etcd_ip] The ip address that you want etcd to use for communications. An example with hiera would be kubernetes::etcd_ip: "%{networking.ip}" Or to pin explicitly to a specific interface kubernetes::etcd_ip: "%{::ipaddress_enp0s8}" Defaults to undef
[etcd_peers] This will tell etcd how the list of peers to connect to into the cluster. An example with hiera would be kubernetes::etcd_peers:
- 172.17.10.101
- 172.17.10.102
- 172.17.10.103
Defaults to undef
[etcd_discovery_srv]
This will tell etcd to use DNS SRV discovery method. This option is exclusive with etcd_initial_cluster
, taking precedence
over it if both are present.
An example with hiera would be kubernetes::etcd_discovery_srv: etcd-gen.example.org
Defaults to undef
[etcd_initial_cluster] This will tell etcd how many nodes will be in the cluster and is passed as a string. An example with hiera would be kubernetes::etcd_initial_cluster: etcd-kube-control-plane=http://172.17.10.101:2380,etcd-kube-replica-control-plane-01=http://172.17.10.210:2380,etcd-kube-replica-control-plane-02=http://172.17.10.220:2380 Defaults to undef
[etcd_initial_cluster_state] This will tell etcd the initial state of the cluster. Useful for adding a node to the cluster. Allowed values are "new" or "existing" Defaults to "new"
[etcd_compaction_retention]
This will tell etcd how much retention to be applied. This value can change depending on etcd_compaction_method
. An integer or time string (i.e.: "5m") can be used in case of "periodic". Only integer allowed in case of "revision"
Integer or String
Defaults to 0 (disabled)
[etcd_compaction_method] This will tell etcd the compaction method to be used. "periodic" or "revision" Defaults to "periodic"
[etcd_max_wals] This will tell etcd how many WAL files to be kept Defaults to 5
[etcd_max_request_bytes] This will tell etcd the maximum size of a request in bytes Defaults to 1572864
[etcd_listen_metric_urls] The URL(s) to listen on to respond to /metrics and /health for etcd Defaults to undef
[etcd_ca_key] This is the ca certificate key data for the etcd cluster. This must be passed as string not as a file. Defaults to undef
[etcd_ca_crt] This is the ca certificate data for the etcd cluster. This must be passed as string not as a file. Defaults to undef
[etcdclient_key] This is the client certificate key data for the etcd cluster. This must be passed as string not as a file. Defaults to undef
[etcdclient_crt] This is the client certificate data for the etcd cluster. This must be passed as string not as a file. Defaults to undef
[etcdserver_key] This is the server certificate key data for the etcd cluster. This must be passed as string not as a file. Defaults to undef
[etcdserver_crt] This is the server certificate data for the etcd cluster . This must be passed as string not as a file. Defaults to undef
[etcdpeer_crt] This is the peer certificate data for the etcd cluster. This must be passed as string not as a file. Defaults to undef
[etcdpeer_key] This is the peer certificate key data for the etcd cluster. This must be passed as string not as a file. Defaults to undef
[apiserver_extra_arguments] A string array of extra arguments to be passed to the api server. Defaults to []
[apiserver_cert_extra_sans] A string array of Subhect Alternative Names for the api server certificates. Defaults to []
[apiserver_extra_volumes] A hash of extra volume mounts mounted on the api server. Defaults to {}
[controllermanager_extra_arguments] A string array of extra arguments to be passed to the controller manager. Defaults to []
[controllermanager_extra_volumes] A hash of extra volume mounts mounted on the controller manager. Defaults to []
[scheduler_extra_arguments] A string array of extra arguments to be passed to scheduler. Defaults to []
[delegated_pki] Set to true if all required X509 certificates will be provided by external means. Setting this to true will ignore all _crt and _key including sa.key and sa.pub files. Defaults to false
[kubernetes_ca_crt] The clusters ca certificate. Must be passed as a string not a file. Defaults to undef
[kubernetes_ca_key] The clusters ca key. Must be passed as a string not a file. Defaults to undef
[kubernetes_front_proxy_ca_crt] The clusters front-proxy ca certificate. Must be passed as a string not a file. Defaults to undef
[kubernetes_front_proxy_ca_key] The clusters front-proxy ca key. Must be passed as a string not a file. Defaults to undef
[sa_key] The service account key. Must be passed as string not a file. Defaults to undef
[sa_pub] The service account public key. Must be passed as cert not a file. Defaults to undef
[node_label] The name to assign the node in the cluster. Defaults to hostname. NOTE: Ignored when cloud_provider is AWS, until this lands fixed https://github.com/kubernetes/kubernetes/pull/61878
[node_extra_taints] Additional taints for node. Example: [{'key' => 'dedicated','value' => 'NewNode','effect' => 'NoSchedule', 'operator' => 'Equal'}] Defaults to undef
[token] A string to use when joining nodes to the cluster. Must be in the form of '[a-z0-9]{6}.[a-z0-9]{16}' Defaults to undef
[discovery_token_hash] A string to validate to the root CA public key when joining a cluster. Created by kubetool Defaults to undef
[install_dashboard] This is a bool that determines if the kubernetes dashboard is installed. Defaults to false
[kubernetes_dashboard_url] The URL to get the Kubernetes Dashboard yaml file. Default is based on dashboard_version.
[dashboard_version] The version of Kubernetes dashboard you want to install. Defaults to 1.10.1
[schedule_on_controller] A flag to remove the control plane role and allow pod scheduling on controllers Defaults to true
[service_cidr] The IP assdress range for service VIPs Defaults to 10.96.0.0/12
[controller_address] The IP address and Port of the controller that worker node will join. eg 172.17.10.101:6443 Defaults to undef
[cloud_provider] The name of the cloud provider of the cloud provider configured in /etc/kubernetes/cloud-config Note: this file is not managed within this module and must be present before bootstrapping the kubernetes controller Defaults to undef
[cloud_config] The file location of the cloud config to be used by cloud_provider [For use with v1.12 and above] Note: this file is not managed within this module and must be present before bootstrapping the kubernetes controller Defaults to undef
[image_repository] The container registry to pull control plane images from Defaults to registry.k8s.io
[kubeadm_extra_config]
A hash containing extra configuration data to be serialised with to_yaml
and appended to the config.yaml file used by kubeadm.
Defaults to {}
[kubelet_extra_config]
A hash containing extra configuration data to be serialised with to_yaml
and appended to Kubelet configuration file for the cluster.
Requires DynamicKubeletConfig.
Defaults to {}
[kubelet_extra_arguments]
A string array to be appended to kubeletExtraArgs in the Kubelet's nodeRegistration configuration applied to both control planes and nodes.
Use this for critical Kubelet settings such as pod-infra-container-image
which may be problematic to configure via kubelet_extra_config
Defaults to []
[proxy_mode] The mode for kubeproxy to run. It should be one of: "" (default), "userspace", "kernelspace", "iptables", or "ipvs". Defaults to ""
[pin_packages] Enable pinning of the docker and kubernetes packages to prevent accidential updates. This is currently only implemented for debian based distributions. Defaults to false
[kubernetes_apt_location] The APT repo URL for the Kubernetes packages. Defaults to https://apt.kubernetes.io
[kubernetes_apt_release] The release name for the APT repo for the Kubernetes packages. Defaults to 'kubernetes-${facts.os.distro.codename}'
[kubernetes_apt_repos] The repos to install from the Kubernetes APT url Defaults to main
[kubernetes_key_id] The gpg key for the Kubernetes APT repo Defaults to '54A647F9048D5688D7DA2ABE6A030B21BA07F4FB'
[kubernetes_key_source] The URL for the APT repo gpg key Defaults to https://packages.cloud.google.com/apt/doc/apt-key.gpg
[kubernetes_yum_baseurl] The YUM repo URL for the Kubernetes packages. Defaults to https://download.docker.com/linux/centos/
[kubernetes_yum_gpgkey] The URL for the Kubernetes yum repo gpg key Defaults to https://download.docker.com/linux/centos/gpg
[docker_apt_location] The APT repo URL for the Docker packages Defaults to https://apt.dockerproject.org/repo
[docker_apt_release] The release name for the APT repo for the Docker packages. Defaults to $facts.os.distro.codename
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
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.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
v8.1.0 - 2024-12-17
Added
Fixed
- (CAT-2180) Upgrade rexml to address CVE-2024-49761 #691 (amitkarsale)
- Fix calico-tigera installation problems #639 (jorhett)
- Fix flannel install condition #615 (deric)
Other
- Add newline at end of file #678 (waipeng)
- Fix container_runtime default in comment #677 (waipeng)
- Ensure correct scheduler extra arguments passed to v1beta3 template #670 (treydock)
- Update devcontainer format + Ruby vscode extension #666 (jorhett)
v8.0.0 - 2023-06-05
Changed
- (CONT-786) Add Support for Puppet 8 / Drop Support for Puppet 6 #633 (david22swan)
- Make cgroup_driver default to systemd #631 (r-tierney)
Added
v7.1.1 - 2023-05-26
Fixed
v7.1.0 - 2023-01-27
Added
v7.0.0 - 2022-12-15
Changed
- Validate namespace parameter as DNS subdomain name #602 (deric)
- (MAINT) Fixing codebase hardening issues #590 (LukasAud)
Added
- Support overriding containerd socket path (#596) #597 (deric)
- Rewrite command line arguments parsing #593 (deric)
- add new parameter containerd_sandbox_image #587 (BaronMsk)
- Add RedHat family as supported OS (#563) #577 (deric)
- Support Debian 11 #568 (deric)
- Support changing bits used for generating certificates #566 (deric)
- Add proxy support to docker, cri_containerd and kubelet #561 (nickperry)
- Remove cgroup-driver arg to avoid deprecation warnings #540 (treydock)
Fixed
- Stronger type checking for $node_name #600 (deric)
- (MAINT) Revert hardening changes #599 (chelnak)
- Fix executing CNI addons commands (fixes #594) #598 (deric)
- Addressing wrong type for unless execs #592 (LukasAud)
- Fix Build docker image tooling #589 (BaronMsk)
- (CONT-217) Correct Kubernetes etcd_data_dir spec tests #582 (GSPatton)
- etcd data dir path configurable by hiera #581 (GSPatton)
- Hardening manifest classes #575 (LukasAud)
- Master role has been deprecated since kubernetes v1.20.0 #571 (deric)
- Don't try to guess docker_version (#564) #565 (deric)
- fix: anchor regex for determining config_version #554 (TheMeier)
- pdksync - (GH-iac-334) Remove Support for Ubuntu 16.04 #548 (david22swan)
- Fix #541 #542 (nickperry)
- Update Debian-family docker repo location and key id #535 (jorhett)
v6.3.0 - 2021-09-06
Added
- Support Kubernetes 1.22 and kubeadm v1beta3 configurations #531 (treydock)
- Enable live-restore for Docker daemon. #530 (peteroruba)
v6.2.0 - 2021-07-19
Added
Fixed
- Support for kubernetes dashboard version 2.0.0 and onwards #528 (danifr)
- Support both standard Calico and Calico Tigera #511 (treydock)
v6.1.0 - 2021-05-11
Added
- Add config.toml for containerd installed with 'archive' #516 (danifr)
- Improvements to containerd configs when using a package #510 (treydock)
- Add kubeadm skip-phases option #507 (BaronMsk)
- Configure image registry settings for containerd when installed via package #500 (andreas-stuerz)
Fixed
- (IAC-1497) - Removal of unsupported
translate
dependency #501 (david22swan) - Repair containerd archive #497 (daianamezdrea)
- Added information about Hiera YAML Lookup; installing a updated version. #494 (bitvijays)
v6.0.0 - 2021-03-02
Changed
- pdksync - Remove Puppet 5 from testing and bump minimal version to 6.0.0 #480 (carabasdaniel)
Added
- Add etcd_listen_metric_urls parameter #470 (treydock)
- add etc max-request-bytes option #464 (AblionGE)
Fixed
- Fix template #484 (daianamezdrea)
- Bump containerd version to 1.5.0 and fix source link #483 (daianamezdrea)
- Update criSocket to avoid deprecation warnings #475 (treydock)
- Fix calico CNI support #473 (djschaap)
- Ensure that changes to etcd systemd reload and restart etcd #471 (treydock)
- Allow tmp_directory to be changed #462 (treydock)
v5.5.0 - 2020-12-16
Added
- Support installing containerd using a package #460 (treydock)
- pdksync - (feat) - Add support for puppet 7 #459 (daianamezdrea)
v5.4.0 - 2020-11-30
Added
- Add scheduler_extra_arguments parameter #451 (treydock)
- Add configuration options for conntrack settings in v1beta1 and v1beta2 #447 (Wiston999)
- Implement advertise address for etcd #443 (faxm0dem)
Fixed
- Remove invalid kube-proxy config resourceContainer #448 (treydock)
- Updates docker yumrepo default #436 (JasonWhall)
v5.3.0 - 2020-09-02
Added
- pdksync - (IAC-973) - Update travis/appveyor to run on new default branch
main
#428 (david22swan) - Package pinning and auto restart of etcd #420 (scoopex)
- Delegated PKI and adapt to k8s 1.15.3+ #412 (Wiston999)
- Add option to set the dns domain in kubernetes cluster #405 (BaronMsk)
Fixed
- Update default yum repositories for docker #414 (carabasdaniel)
- Remove invalid field "max" from conntrack spec #407 (nickperry)
v5.2.0 - 2020-05-13
Added
Fixed
v5.1.0 - 2020-01-27
Added
- Allow setting metricsBindAddress #377 (TJM)
- Add docker_extra_daemon_config for use when managing docker #376 (mrwulf)
- Add support for managing Docker logging max-file and max-size settings. #358 (nickperry)
- Add possibility to run acceptance tests with Litmus and Vagrant #353 (carabasdaniel)
- Add_support_1.16 #351 (BaronMsk)
Fixed
- Fix worker k8s 1.6 #363 (BaronMsk)
- Configure extra_volumes when cloud_provider is set and cloud_config is not. Fixes #301 #361 (nickperry)
- Add support for readOnly and pathType fields on volumes #359 (nickperry)
- Adding all IPs for etcd servers to etcd server cert #350 (blodone)
- repair/improve package installation #348 (scoopex)
- Use correct apt release on Debian/Ubuntu #338 (aptituz)
- Fix repository location for Ubuntu #337 (aptituz)
- Fixed v1beta1 JoinConfiguration template to match the documentation #332 (Xartos)
v5.0.0 - 2019-07-24
Changed
- (MODULES-9550) - v5.0.0 Release Prep #324 (sheenaajay)
- (FM-8100) Update minimum supported Puppet version to 5.5.10 #291 (sheenaajay)
Added
- Modify config_version to kubernetes_version mapping. Pre-req to supporting Kube 1.15 #308 (nickperry)
- add support for cilium network provider #265 (SimonHoenscheid)
Fixed
- Manage front-proxy ca certs - fixes #275 #321 (nickperry)
- (IAC-181) Expose ttl duration parameter #313 (carabasdaniel)
- make proxy mode configurable #297 (mrwulf)
- Fixed duplicate tlsBootstrapToken in config_worker.yaml.erb for kubernetes 1.14 #287 (Hillkorn)
v4.0.1 - 2019-05-14
Fixed
- Add extra arguments for API server and controller manager #282 (fydai)
- cluster name missing tag brackets in worker config #280 (jorhett)
- Avoid log message about waiting for SA when it already exists #278 (jorhett)
- MODULES-8947 fixing bugs and tests #274 (sheenaajay)
4.0.0 - 2019-04-17
Added
- Add kubeadm v1beta1 #272 (carabasdaniel)
Other
- Tasks 1.14 - add new tasks for version v1beta1, update changelog and metadata #273 (lionce)
- Etcd hostname variable #271 (sw0x2A)
- add in logo for certified k8s installer #268 (davejrt)
- introduce kubernetes_dashboard_url param #266 (SimonHoenscheid)
- removes redundant variables in the case of not using the cloud provider #264 (davejrt)
3.4.0 - 2019-03-21
Other
- Add in Puppet Bolt tasks #263 (carabasdaniel)
3.3.0 - 2019-03-14
Other
- release 3.3.0 #262 (davejrt)
- Make kubectl environment available in main class #261 (jorhett)
- Store cgroup driver in kubeadm configuration file for kubernetes 1.12+ #259 (jorhett)
- Add support to change kubernetes cluster name #255 (jorhett)
- Restructure kubenetes::config to kubenetes::config::kubeadm #254 (jorhett)
- Safe command lines for CNI network installs #253 (jorhett)
- Workaround race condition on default sa creation #247 (jorhett)
3.2.2 - 2019-02-12
Other
- releasing 3.2.2 #252 (davejrt)
- fixes old nodes using config file #250 (davejrt)
- Allow etcd to be installed through system packages #165 (ralphje)
3.2.1 - 2019-02-07
Other
- Update CHANGELOG.md #249 (davejrt)
- restricts access to kube dirs to root only #248 (davejrt)
- Allow setting etcd initial cluster state #246 (clly)
- Remove dependency on puppet-wget (use puppet-archive instead) #243 (JayH5)
3.2.0 - 2019-01-23
Other
- updating changelog and metadata for 3.2.0 release #240 (davejrt)
- Mount cloud configuration on ApiServer and ControllerManager pods #236 (jorhett)
- Fix alpha3 template #235 (jorhett)
- Use fact method to more gracefully handle missing facts #234 (ralimi)
- Honor overridden service address range in alpha3 config. #233 (ralimi)
- Fix systemd cpu/memory problems on RedHat #230 (jorhett)
- updating calico URL #229 (davejrt)
- Dashboard no longer has deploy YAML on master branch #228 (jorhett)
- Fix cni network provider #227 (kkuehlz)
- Reduce redundant test fill by using Hiera for default values #226 (jorhett)
- Fix CentOS repos #225 (jorhett)
- Build config file for worker nodes too #224 (jorhett)
- Fix cloud_provider hostnames #223 (jorhett)
- Defer os-specific default value test to avoid fact availability issues #222 (jorhett)
- Update go version #220 (davejrt)
- Fix multiple errors in cloud configuration #219 (jorhett)
- enable kubelet service #215 (davejrt)
- updates for puppet 6 #214 (davejrt)
- adding in logic for managing kmod alternatively #213 (davejrt)
- Remove legacy facts #212 (SimonHoenscheid)
- Move kubernetesVersion into ClusterConfiguration #210 (nickperry)
- adding in ordering for sysctl to present failures #206 (davejrt)
- document manage_kernel_modules and manage_sysctl_settings, remove doc… #205 (SimonHoenscheid)
- removes redundant variable and fixes error with to_yaml #201 (davejrt)
- fixing alignment in init.pp and problem with variables in config3 #200 (davejrt)
- fix fixtures.yaml, set right author/source for wget module #199 (SimonHoenscheid)
- Add support for configuring kubeletExtraArgs in v1alpha3 config. #198 (nickperry)
- Move parameter definition back to head of init.pp (fixes #169) #193 (temujin9)
- Remove Execs for Kmod management and setting Sysctl values with accor… #192 (SimonHoenscheid)
3.1.0 - 2018-11-14
Other
- upadting metadata and changelog for new release #191 (davejrt)
- (CLOUD 2195) Readme update. #189 (EamonnTP)
- Support customized kubelet configuration. #187 (ralimi)
- adds in option to specify alternate image repo #186 (davejrt)
- adds in k8s version variable #185 (davejrt)
- Updated stdlib version requirement to >= 4.20 #182 (yoshz)
- adds in support for 1.12.x #181 (davejrt)
- (Maint)Pinning puppet version until puppet 6 support added. #176 (MWilsonPuppet)
- (maint) Fix function nil / undef conditionals for Puppet6 #173 (suckatrash)
- updating rakefile for ci #167 (davejrt)
- fixes instructions to use env file, with correct filename #163 (davejrt)
- removing unused etcd template #162 (davejrt)
- 3.0.1 #159 (davejrt)
- Add feature flag for managing Etcd #157 (jonasdemoor)
3.0.1 - 2018-08-31
Other
- fixing type in param value #156 (davejrt)
- Typo #155 (turbodog)
- bumping metadata.json for new release #154 (davejrt)
3.0.0 - 2018-08-22
Other
- Fix module hard requirement for apt to < 6.0.0 #153 (meltingrobot)
- (maint) Updated .sync.yml #150 (bmjen)
- (CLOUD-2054) Readme updates. #149 (EamonnTP)
- (CLOUD-1978) pdk changes for k8 module #148 (sheenaajay)
- Flatten fix #146 (davejrt)
- Add feature flag for managing Docker repositories and packages #144 (jonasdemoor)
- Cleaning up apiServerExtraArgs #143 (mrwulf)
- Fixed indenting issue when configuring multiple extra apiserver cert SANs #142 (yoshz)
- Allow arbitrary extra kubeadm config.yaml snippets #141 (Zetten)
- adding in tests for cloud provider in service class #140 (davejrt)
- updating readme with new params #139 (davejrt)
- adds in param to configure rbac for calico #137 (davejrt)
- disables swap #136 (davejrt)
- adding in puppet wget module #135 (davejrt)
- paramaters for different upstream repos and OS flavors #134 (davejrt)
- adds in the option to disable repo install, or override repos and URLs for offline installs #133 (davejrt)
- fix wrong folder name #132 (khaefeli)
- Fixed missing cloud provider arguments for kubelet #131 (yoshz)
- Clean up README #129 (alex-harvey-z3q)
- kubernetes::cluster_roles - ignore CNI errors on
kubeadm join
#127 (tskirvin) - Update metadata.json #125 (davejrt)
- Fix for failing idempotency on worker nodes #120 (AranVinkItility)
- Revert "Fix error: parameter 'api_server_count' expects an Integer value, got…" #115 (davejrt)
- Fix error: parameter 'api_server_count' expects an Integer value, got… #113 (Lord-Y)
- release updates #110 (davejrt)
2.0.2 - 2018-06-04
Other
- fixes issue with cgroup mismatch on rhel and ignore flags for containerd runtime #109 (davejrt)
- prepping for release #108 (davejrt)
2.0.1 - 2018-06-01
Other
2.0.0 - 2018-06-01
Other
- README.md - use current version number #101 (tskirvin)
- calico is actually supported #99 (KlavsKlavsen)
- bumping version in metadata.json and updating changelog #94 (davejrt)
- Allow mounting extra volumes to apiserver pod #89 (Zetten)
- Pin versions of debian packages #86 (admont)
1.1.0 - 2018-04-15
Added
- Expose a lot of params - mostly to ease deployments in a different overlay network range #82 (mrwulf)
Other
- Update spec_helper_acceptance.rb #93 (davejrt)
- Kube tool #91 (davejrt)
- Update gpg key fingerprint used by K8s Ubuntu repo #90 (admont)
- fix for cfssl trust no longer being in the vendor path #88 (scotty-c)
- Update kube_addons.pp #87 (scotty-c)
- Fix log message typos: Kubernets -> Kubernetes #84 (wkalt)
- fix for RHEL repo #81 (scotty-c)
- Issue template #77 (davejrt)
- Cloud 1731 #76 (davejrt)
- Update CONTRIBUTING.md #74 (davejrt)
- changing taint and label to fqdn #73 (davejrt)
- (maint) Fix some typos in the readme #72 (lucywyman)
- Cloud 1739 #69 (davejrt)
- Cloud 1712 #68 (davejrt)
- Update default values #67 (scotty-c)
- updates for release 1.0.3 #64 (davejrt)
1.0.3 - 2018-02-14
Other
- fixes weave URL in kube_tool and uses default IP range #63 (davejrt)
- (fixing lint warning for k8) #61 (sheenaajay)
- Bugfix/docker apt repo gpg key fix #58 (admont)
- (CLOUD-1701) Add path attribute to execs in kube_addons #57 (abottchen)
- release 1.0.2 #56 (scotty-c)
1.0.2 - 2018-01-31
Other
- Fix to stop RHEL family downgrading cni #55 (scotty-c)
- Revert "(CLOUD-1640) Remove package resource for kubernetes-cni" #54 (scotty-c)
- (CLOUD-1640) Remove package resource for kubernetes-cni #53 (abottchen)
1.0.1 - 2018-01-30
Other
- 1.0.1 #51 (scotty-c)
- Flannel support #50 (scotty-c)
- (maint)undoing change made when testing #48 (MWilsonPuppet)
- Allow additional configuration of API Server #47 (Zetten)
- (automated build) #45 (MWilsonPuppet)
- Cloud 1595 #44 (davejrt)
- removing epel from the module #43 (scotty-c)
- (i18n Gem update for k8) #42 (sheenaajay)
- (CLOUD-1664) Remove validate functions adddatatype #41 (sheenaajay)
- supported release of module #39 (davejrt)
1.0.0 - 2018-01-09
Other
0.2.0 - 2017-12-19
Added
Other
- (CLOUD-1614) Fix acceptance tests to run on centos #30 (sheenaajay)
- (CLOUD-1593) fix acceptance test on vagrant k8 #28 (sheenaajay)
- k8_jenkins #27 (sheenaajay)
- fixing acceptance tests #25 (davejrt)
0.1.4 - 2017-11-28
Other
- (dashboard deploy for each version) #26 (sheenaajay)
- fixing acceptance tests #25 (davejrt)
- updating for release #24 (davejrt)
0.1.3 - 2017-11-27
Other
0.1.2 - 2017-11-18
Other
0.1.1 - 2017-11-15
Other
- (release) release prep for 0.1.1 #19 (gregohardy)
- (metadata dependencies options) #18 (sheenaajay)
- Remove hard-coded address from proxy configmap template #17 (brektyme)
- Fix typo on kubernetes.yaml #15 (rhoml)
0.1.0 - 2017-10-11
Dependencies
- puppetlabs-stdlib (>= 4.25.0 < 10.0.0)
- puppetlabs-apt (< 10.0.0)
- puppet-archive (>= 2.0.0 < 8.0.0)
- puppet-augeasproviders_sysctl (>= 3.0.0 < 4.0.0)
- puppet-augeasproviders_core (>= 2.1.0 < 5.0.0)
- puppet-kmod (>= 2.2.0 < 5.0.0)
Apache License Version 2.0, January 2004 http://www.apache.org/licenses/ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 1. Definitions. "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: (a) You must give any other recipients of the Work or Derivative Works a copy of this License; and (b) You must cause any modified files to carry prominent notices stating that You changed the files; and (c) You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and (d) If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. END OF TERMS AND CONDITIONS APPENDIX: How to apply the Apache License to your work. To apply the Apache License to your work, attach the following boilerplate notice, with the fields enclosed by brackets "{}" replaced with your own identifying information. (Don't include the brackets!) The text should be enclosed in the appropriate comment syntax for the file format. We also recommend that a file or class name and description of purpose be included on the same "printed page" as the copyright notice for easier identification within third-party archives. Copyright 2016 Puppet Labs Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Quality checks
We run a couple of automated scans to help you assess a module’s quality. Each module is given a score based on how well the author has formatted their code and documentation and select modules are also checked for malware using VirusTotal.
Please note, the information below is for guidance only and neither of these methods should be considered an endorsement by Puppet.
Malware scan results
The malware detection service on Puppet Forge is an automated process that identifies known malware in module releases before they’re published. It is not intended to replace your own virus scanning solution.
Learn more about malware scans- Module name:
- puppetlabs-kubernetes
- Module version:
- 8.1.0
- Scan initiated:
- December 16th 2024, 21:43:43
- Detections:
- 0 / 61
- Scan stats:
- 61 undetected
- 0 harmless
- 0 failures
- 0 timeouts
- 0 malicious
- 0 suspicious
- 15 unsupported
- Scan report:
- View the detailed scan report