feat(chart): adding-tiller-service

- enhancing chart deploy with tiller service

Change-Id: I8b0598f7306e98b0cb61eb2f21d4b2bd549def53
This commit is contained in:
gardlt 2017-12-06 17:09:37 +00:00
parent 8ac4a106f9
commit 5d75b448fd
6 changed files with 134 additions and 2 deletions

View File

@ -71,6 +71,11 @@ The Keystone project domain name used for authentication.
default='app=helm,name=tiller',
help=utils.fmt('Labels for the tiller pod.')),
cfg.StrOpt(
'tiller_namespace',
default='kube-system',
help=utils.fmt('Namespace for the tiller pod.')),
cfg.ListOpt(
'tiller_release_roles',
default=['admin'],

View File

@ -102,8 +102,8 @@ class Tiller(object):
Returns tiller pod using the tiller pod labels specified in the Armada
config
'''
pods = self.k8s.get_namespace_pod('kube-system',
CONF.tiller_pod_labels).items
pods = self.k8s.get_namespace_pod(
CONF.tiller_namespace, CONF.tiller_pod_labels).items
# No tiller pods found
if not pods:
raise ex.TillerPodNotFoundException(CONF.tiller_pod_labels)

View File

@ -0,0 +1,80 @@
{{/*
Copyright 2017 The Openstack-Helm Authors.
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.
*/}}
{{- if .Values.manifests.deployment_tiller }}
{{- $envAll := . }}
---
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
labels:
app: helm
name: tiller
name: tiller-deploy
spec:
replicas: 1
selector:
matchLabels:
app: helm
name: tiller
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
app: helm
name: tiller
spec:
initContainers:
{{ tuple $envAll .Values.pod_dependency list | include "helm-toolkit.snippets.kubernetes_entrypoint_init_container" | indent 8 }}
containers:
- env:
- name: TILLER_NAMESPACE
value: {{ .Release.Namespace }}
- name: TILLER_HISTORY_MAX
value: "0"
image: {{ .Values.images.tags.tiller }}
livenessProbe:
failureThreshold: 3
httpGet:
path: /liveness
port: 44135
scheme: HTTP
initialDelaySeconds: 1
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
name: tiller
ports:
- containerPort: 44134
name: tiller
protocol: TCP
readinessProbe:
failureThreshold: 3
httpGet:
path: /readiness
port: 44135
scheme: HTTP
initialDelaySeconds: 1
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
resources: {}
status: {}
{{- end }}

View File

@ -0,0 +1,38 @@
{{/*
Copyright 2017 The Openstack-Helm Authors.
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.
*/}}
{{- if .Values.manifests.service_tiller_deploy }}
{{- $envAll := . }}
---
apiVersion: v1
kind: Service
metadata:
labels:
app: helm
name: tiller
name: tiller-deploy
spec:
ports:
- name: tiller
port: 44134
protocol: TCP
targetPort: tiller
selector:
app: helm
name: tiller
sessionAffinity: None
type: ClusterIP
{{- end }}

View File

@ -27,6 +27,7 @@ images:
ks_endpoints: docker.io/kolla/ubuntu-source-heat-engine:3.0.3
ks_service: docker.io/kolla/ubuntu-source-heat-engine:3.0.3
ks_user: docker.io/kolla/ubuntu-source-heat-engine:3.0.3
tiller: gcr.io/kubernetes-helm/tiller:v2.7.0
pull_policy: "IfNotPresent"
@ -39,6 +40,8 @@ network:
port: 31903
dependencies:
tiller:
services: null
ks_user:
services:
- service: identity
@ -121,6 +124,7 @@ secrets:
conf:
armada:
DEFAULT:
tiller_namespace: ucp
keystone_authtoken:
auth_type: password
auth_version: 3
@ -215,6 +219,7 @@ manifests:
configmap_bin: true
configmap_etc: true
deployment_api: true
deployment_tiller: true
ingress_api: true
job_ks_endpoints: true
job_ks_service: true
@ -222,3 +227,4 @@ manifests:
secret_keystone: true
service_api: true
service_ingress_api: true
service_tiller_deploy: true

View File

@ -32,6 +32,9 @@
# Labels for the tiller pod. (string value)
#tiller_pod_labels = app=helm,name=tiller
# Namespace for the tiller pod. (string value)
#tiller_namespace = kube-system
# IDs of approved API access roles. (list value)
#tiller_release_roles = admin