Skip to content

Commit 4680dcc

Browse files
committed
Improve handling of manage_* parameters
Will no longer break catalog compilation and/or application when turning off manage_* parameters, and also respects them more Also removes a no longer required jq call from kubelet bootstrap, modern kubernetes can do non-raw output with an unauthenticated user
1 parent ff86f24 commit 4680dcc

File tree

6 files changed

+26
-12
lines changed

6 files changed

+26
-12
lines changed

REFERENCE.md

+9
Original file line numberDiff line numberDiff line change
@@ -732,6 +732,7 @@ The following parameters are available in the `k8s::node` class:
732732
* [`firewall_type`](#-k8s--node--firewall_type)
733733
* [`manage_crictl`](#-k8s--node--manage_crictl)
734734
* [`manage_firewall`](#-k8s--node--manage_firewall)
735+
* [`manage_packages`](#-k8s--node--manage_packages)
735736
* [`manage_kernel_modules`](#-k8s--node--manage_kernel_modules)
736737
* [`manage_kubelet`](#-k8s--node--manage_kubelet)
737738
* [`manage_proxy`](#-k8s--node--manage_proxy)
@@ -803,6 +804,14 @@ whether to manage firewall or not
803804

804805
Default value: `$k8s::manage_firewall`
805806

807+
##### <a name="-k8s--node--manage_packages"></a>`manage_packages`
808+
809+
Data type: `Boolean`
810+
811+
whether to manage packages
812+
813+
Default value: `$k8s::manage_packages`
814+
806815
##### <a name="-k8s--node--manage_kernel_modules"></a>`manage_kernel_modules`
807816

808817
Data type: `Boolean`

manifests/binary.pp

+1-1
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,7 @@
136136
}
137137
}
138138

139-
if $active and $packaging != 'container' and !defined(File["/usr/bin/${name}"]) {
139+
if $active and $packaging != 'container' and $_packaging != 'manual' and !defined(File["/usr/bin/${name}"]) {
140140
if $packaging == 'package' {
141141
file { "/usr/bin/${name}":
142142
ensure => $ensure,

manifests/common.pp

-4
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,5 @@
6969
'/usr/libexec/kubernetes': ;
7070
'/var/lib/kubelet': ;
7171
'/var/lib/kubelet/pki': ;
72-
73-
'/usr/share/containers/': ;
74-
'/usr/share/containers/oci/': ;
75-
'/usr/share/containers/oci/hooks.d': ;
7672
}
7773
}

manifests/install/container_runtime.pp

+9
Original file line numberDiff line numberDiff line change
@@ -86,6 +86,15 @@
8686
name => $pkg,
8787
}
8888

89+
file {
90+
default:
91+
ensure => directory;
92+
93+
'/usr/share/containers/': ;
94+
'/usr/share/containers/oci/': ;
95+
'/usr/share/containers/oci/hooks.d': ;
96+
}
97+
8998
if $manage_repo {
9099
require k8s::repo
91100
}

manifests/node.pp

+2
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77
# @param firewall_type define the type of firewall to use
88
# @param manage_crictl toggle to install crictl
99
# @param manage_firewall whether to manage firewall or not
10+
# @param manage_packages whether to manage packages
1011
# @param manage_kernel_modules whether to load kernel modules or not
1112
# @param manage_kubelet whether to manage kublet or not
1213
# @param manage_proxy whether to manage kube-proxy or not
@@ -33,6 +34,7 @@
3334
Boolean $manage_proxy = $k8s::manage_kube_proxy == 'on-node',
3435
Boolean $manage_crictl = false,
3536
Boolean $manage_firewall = $k8s::manage_firewall,
37+
Boolean $manage_packages = $k8s::manage_packages,
3638
Boolean $manage_kernel_modules = $k8s::manage_kernel_modules,
3739
Boolean $manage_sysctl_settings = $k8s::manage_sysctl_settings,
3840
Boolean $manage_simple_cni = false,

manifests/node/kubelet.pp

+5-7
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@
6969
case $auth {
7070
'bootstrap': {
7171
$_ca_cert = pick($ca_cert, '/var/lib/kubelet/pki/ca.pem')
72-
ensure_packages(['jq'])
7372
if !defined(K8s::Binary['kubectl']) {
7473
k8s::binary { 'kubectl':
7574
ensure => $ensure,
@@ -83,12 +82,9 @@
8382
~> exec { 'Retrieve K8s CA':
8483
path => ['/usr/local/bin','/usr/bin','/bin'],
8584
command => "kubectl --server='${control_plane_url}' --username=anonymous --insecure-skip-tls-verify=true \
86-
get --raw /api/v1/namespaces/kube-system/configmaps/cluster-info | jq .data.ca -r > '${_ca_cert}'",
85+
get --namespace=kube-system configmap cluster-info --output=jsonpath={.data.ca} > '${_ca_cert}'",
8786
creates => $_ca_cert,
88-
require => [
89-
K8s::Binary['kubectl'],
90-
Package['jq'],
91-
],
87+
require => K8s::Binary['kubectl'],
9288
}
9389
-> kubeconfig { $_bootstrap_kubeconfig:
9490
ensure => $ensure,
@@ -275,7 +271,9 @@
275271
}
276272
}
277273

278-
Class['k8s::install::container_runtime'] -> Service['kubelet']
274+
if defined(Class['k8s::install::container_runtime']) {
275+
Class['k8s::install::container_runtime'] -> Service['kubelet']
276+
}
279277
Package <| title == 'containernetworking-plugins' |> -> Service['kubelet']
280278

281279
if $manage_firewall {

0 commit comments

Comments
 (0)