Puppet changes for helm and kubernetes

Create helm manifest.

The changes to kubernetes.pp are to ensure that the nested dependencies
are completed before the helm manifest tries to run commands that depend
on docker/kubectl being functional.

Story: 2002876
Task: 22831
Depends-On: https://review.openstack.org/587390

Change-Id: Icf7e73047aecc933bf3451b20b6159997dfbea99
Signed-off-by: Jack Ding <jack.ding@windriver.com>
This commit is contained in:
Chris Friesen 2018-06-04 17:13:49 -06:00 committed by Jack Ding
parent f64fa55aa4
commit ef5b96ac17
3 changed files with 39 additions and 4 deletions

View File

@ -34,6 +34,7 @@ include ::platform::etcd
include ::platform::docker
include ::platform::dockerdistribution
include ::platform::kubernetes::master
include ::platform::helm
include ::platform::patching
include ::platform::patching::api

View File

@ -0,0 +1,34 @@
class platform::helm
{
include ::platform::kubernetes::params
include ::platform::kubernetes::master
if $::platform::kubernetes::params::enabled {
if str2bool($::is_initial_config_primary) {
Class['::platform::kubernetes::master'] ->
exec { "load tiller docker image":
command => "docker load -i /var/lib/tiller/tiller-2.9.1-docker-image.tgz",
logoutput => true,
} ->
exec { "create service account for tiller":
command => "kubectl --kubeconfig=/etc/kubernetes/admin.conf create serviceaccount --namespace kube-system tiller",
logoutput => true,
} ->
exec { "create cluster role binding for tiller service account":
command => "kubectl --kubeconfig=/etc/kubernetes/admin.conf create clusterrolebinding tiller-cluster-rule --clusterrole=cluster-admin --serviceaccount=kube-system:tiller",
logoutput => true,
} ->
exec { 'initialize helm':
environment => [ "KUBECONFIG=/etc/kubernetes/admin.conf" ],
command => "helm init --skip-refresh --service-account tiller",
logoutput => true,
}
}
}
}

View File

@ -122,8 +122,8 @@ class platform::kubernetes::master
inherits ::platform::kubernetes::params {
if $enabled {
include ::platform::kubernetes::kubeadm
include ::platform::kubernetes::master::init
contain ::platform::kubernetes::kubeadm
contain ::platform::kubernetes::master::init
Class['::platform::etcd'] -> Class[$name]
Class['::platform::docker::config'] -> Class[$name]
@ -163,8 +163,8 @@ class platform::kubernetes::worker
inherits ::platform::kubernetes::params {
if $enabled {
include ::platform::kubernetes::kubeadm
include ::platform::kubernetes::worker::init
contain ::platform::kubernetes::kubeadm
contain ::platform::kubernetes::worker::init
Class['::platform::kubernetes::kubeadm'] ->
Class['::platform::kubernetes::worker::init']