Skip to content

Commit 557788f

Browse files
author
scott coulton
committed
final relase changes
2 parents 8495c23 + 2f174c8 commit 557788f

File tree

12 files changed

+58
-24
lines changed

12 files changed

+58
-24
lines changed

README.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,15 +40,15 @@ If you do not already have Docker installed on your workstation, install it [her
4040

4141
The kubetool docker image takes each of the parameters as environment variables. When run as follows it will output a `kubernetes.yaml` file in your current working directory:
4242

43-
```puppet
44-
docker run --rm -v $(pwd):/mnt -e OS=debian -e VERSION=1.9.2 -e CONTAINER_RUNTIME=docker -e FQDN=kubernetes -e IP=172.17.10.101 -e BOOTSTRAP_CONTROLLER_IP=172.17.10.101 -e ETCD_INITIAL_CLUSTER="etcd-kube-master=http://172.17.10.101:2380" -e ETCD_IP="%{::ipaddress_enp0s8}" -e KUBE_API_ADVERTISE_ADDRESS="%{::ipaddress_enp0s8}" -e INSTALL_DASHBOARD=true puppet/kubetool:1.0.1
43+
docker run --rm -v $(pwd):/mnt -e OS=debian -e VERSION=1.9.2 -e CONTAINER_RUNTIME=docker -e CNI_PROVIDER=weave -e FQDN=kubernetes -e IP=172.17.10.101 -e BOOTSTRAP_CONTROLLER_IP=172.17.10.101 -e ETCD_INITIAL_CLUSTER="etcd-kube-master=http://172.17.10.101:2380" -e ETCD_IP="%{::ipaddress_enp0s8}" -e KUBE_API_ADVERTISE_ADDRESS="%{::ipaddress_enp0s8}" -e INSTALL_DASHBOARD=true puppet/kubetool
4544
```
4645
4746
The parameters are:
4847
4948
* `OS`: the os kubernetes will run on.
5049
* `VERSION`: the version of kubernetes you want to deploy
5150
* `CONTAINER_RUNTIME`: the container runtime kubernetes will use, this can only be set to `docker` or `cri_containerd`
51+
* `CNI_PROVIDER` : This is the CNI network to install. This can be set to `weave` or `flannel`
5252
* `FQDN`: the cluster fqdn.
5353
* `BOOTSTRAP_CONTROLLER_IP`: the ip address of the controller puppet will use to create things like cluster role bindings, kube dns, and the Kubernetes dashboard.
5454
* `ETCD_INITIAL_CLUSTER`: the server addresses. When in production, include three, five, or seven nodes for etcd.
@@ -185,6 +185,9 @@ An example with hiera would be `kubernetes::kube_api_advertise_address:"%{::ipad
185185

186186
Defaults to `undef`.
187187

188+
#### `apiserver_extra_arguments`
189+
An array of extra configuration you can pass to the Kubernetes api container
190+
defaults to []
188191
#### `etcd_version`
189192

190193
The version of etcd to use.

manifests/config.pp

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
String $kubernetes_version = $kubernetes::kubernetes_version,
66
String $container_runtime = $kubernetes::container_runtime,
7+
Optional[String] $cni_cluster_cidr = $kubernetes::cni_cluster_cidr,
8+
Optional[String] $cni_node_cidr = $kubernetes::cni_node_cidr,
79
String $kube_dns_version = $kubernetes::kube_dns_version,
810
String $kubernetes_fqdn = $kubernetes::kubernetes_fqdn,
911
Boolean $controller = $kubernetes::controller,

manifests/init.pp

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@
2222
#
2323
# [*cni_version*]
2424
# The version of the cni package you would like to install
25-
# Defaults to 0.5.1
25+
# Defaults to 0.6.0
2626
#
2727
# [*kube_dns_version*]
2828
# The version of kube DNS you would like to install
@@ -216,6 +216,8 @@
216216
String $kubernetes_fqdn = $kubernetes::params::kubernetes_fqdn,
217217
String $container_runtime = $kubernetes::params::container_runtime,
218218
Optional[String] $cni_version = $kubernetes::params::cni_version,
219+
Optional[String] $cni_cluster_cidr = $kubernetes::params::cni_cluster_cidr,
220+
Optional[String] $cni_node_cidr = $kubernetes::params::cni_node_cidr,
219221
String $kube_dns_version = $kubernetes::params::kube_dns_version,
220222
Boolean $controller = $kubernetes::params::controller,
221223
Boolean $bootstrap_controller = $kubernetes::params::bootstrap_controller,
@@ -257,13 +259,12 @@
257259
Optional[String] $front_proxy_client_key = $kubernetes::params::front_proxy_client_key,
258260
Optional[String] $sa_key = $kubernetes::params::sa_key,
259261
Optional[String] $sa_pub = $kubernetes::params::sa_pub,
260-
String $cni_network_provider = $kubernetes::params::cni_network_provider,
262+
Optional[String] $cni_network_provider = $kubernetes::params::cni_network_provider,
261263
Boolean $install_dashboard = $kubernetes::params::install_dashboard,
262264
Boolean $taint_master = $kubernetes::params::taint_master,
263265

264266
) inherits kubernetes::params {
265267

266-
267268
if $controller {
268269
if $worker {
269270
fail translate(('A node can not be both a controller and a node'))

manifests/kube_addons.pp

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
# Class kuberntes kube_addons
22
class kubernetes::kube_addons (
33

4-
Boolean $bootstrap_controller = $kubernetes::bootstrap_controller,
5-
String $cni_network_provider = $kubernetes::cni_network_provider,
6-
Boolean $install_dashboard = $kubernetes::install_dashboard,
7-
String $kubernetes_version = $kubernetes::kubernetes_version,
8-
Boolean $controller = $kubernetes::controller,
9-
Boolean $taint_master = $kubernetes::taint_master,
4+
Boolean $bootstrap_controller = $kubernetes::bootstrap_controller,
5+
Optional[String]$cni_network_provider = $kubernetes::cni_network_provider,
6+
Boolean $install_dashboard = $kubernetes::install_dashboard,
7+
String $kubernetes_version = $kubernetes::kubernetes_version,
8+
Boolean $controller = $kubernetes::controller,
9+
Boolean $taint_master = $kubernetes::taint_master,
1010
){
1111

1212
if $bootstrap_controller {

manifests/params.pp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,11 @@
55
case $::osfamily {
66
'Debian' : {
77
$kubernetes_package_version = '1.7.3-01'
8-
$cni_version = '0.5.1-00'
8+
$cni_version = '0.6.0-00'
99
}
1010
'RedHat' : {
1111
$kubernetes_package_version = '1.7.3'
12-
$cni_version = '0.5.1'
12+
$cni_version = '0.6.0'
1313
}
1414
default: { notify {"The OS family ${::os_family} is not supported by this module":} }
1515
}
@@ -22,7 +22,7 @@
2222
$bootstrap_controller_ip = undef
2323
$worker = false
2424
$kube_api_advertise_address = undef
25-
$etcd_version = '3.0.17'
25+
$etcd_version = '3.1.11'
2626
$etcd_ip = undef
2727
$etcd_initial_cluster = undef
2828
$bootstrap_token = undef
@@ -57,7 +57,9 @@
5757
$front_proxy_client_key = undef
5858
$sa_key = undef
5959
$sa_pub = undef
60-
$cni_network_provider = 'https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d "\n")\&env.IPALLOC_RANGE=100.32.0.0/12'
60+
$cni_cluster_cidr = undef
61+
$cni_node_cidr = undef
62+
$cni_network_provider = undef
6163
$install_dashboard = false
6264
$taint_master = true
6365

manifests/repos.pp

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
}
3232
}
3333
'RedHat': {
34-
3534
if $container_runtime == 'docker' {
3635
yumrepo { 'docker':
3736
descr => 'docker',

manifests/service.pp

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,10 @@
22

33
class kubernetes::service (
44

5-
Boolean $controller = $kubernetes::controller,
6-
Boolean $bootstrap_controller = $kubernetes::bootstrap_controller,
7-
String $container_runtime = $kubernetes::container_runtime,
8-
Optional[String] $etcd_ip = $kubernetes::etcd_ip,
5+
Boolean $controller = $kubernetes::controller,
6+
Boolean $bootstrap_controller = $kubernetes::bootstrap_controller,
7+
String $container_runtime = $kubernetes::container_runtime,
8+
Optional[String] $etcd_ip = $kubernetes::etcd_ip,
99
){
1010

1111
$peeruls = inline_template("'{\"peerURLs\":[\"http://${etcd_ip}:2380\"]}'")

spec/classes/config_spec.rb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,8 @@
1616
{
1717
'kubernetes_version' => '1.7.3',
1818
'container_runtime' => 'docker',
19+
'cni_cluster_cidr' => '10.0.0.0/24',
20+
'cni_node_cidr' => '10.0.1.0/24',
1921
'kube_dns_version' => '1.14.2',
2022
'controller' => true,
2123
'bootstrap_controller' => false,

templates/kube-controller-manager.yaml.erb

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@ spec:
2121
- --leader-elect=true
2222
- --root-ca-file=/etc/kubernetes/pki/ca.crt
2323
- --cluster-signing-cert-file=/etc/kubernetes/pki/ca.crt
24+
<%= @cni_node_cidr %>
25+
<%= @cni_cluster_cidr %>
2426
image: gcr.io/google_containers/kube-controller-manager-amd64:v<%= @kubernetes_version %>
2527
livenessProbe:
2628
failureThreshold: 8

tooling/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,4 @@ RUN set -x && \
2525

2626
WORKDIR /mnt
2727

28-
ENTRYPOINT ["sh", "-c", "/etc/k8s/kube_tool.rb -o ${OS} -v ${VERSION} -r ${CONTAINER_RUNTIME} -f ${FQDN} -i ${IP} -b ${BOOTSTRAP_CONTROLLER_IP} -e ${ETCD_INITIAL_CLUSTER} -t ${ETCD_IP} -a ${KUBE_API_ADVERTISE_ADDRESS} -d ${INSTALL_DASHBOARD}"]
28+
ENTRYPOINT ["sh", "-c", "/etc/k8s/kube_tool.rb -o ${OS} -v ${VERSION} -r ${CONTAINER_RUNTIME} -c ${CNI_PROVIDER} -f ${FQDN} -i ${IP} -b ${BOOTSTRAP_CONTROLLER_IP} -e ${ETCD_INITIAL_CLUSTER} -t ${ETCD_IP} -a ${KUBE_API_ADVERTISE_ADDRESS} -d ${INSTALL_DASHBOARD}"]

0 commit comments

Comments
 (0)