update
This commit is contained in:
@@ -0,0 +1,25 @@
|
|||||||
|
# Patterns to ignore when building packages.
|
||||||
|
# This supports shell glob matching, relative path matching, and
|
||||||
|
# negation (prefixed with !). Only one pattern per line.
|
||||||
|
.DS_Store
|
||||||
|
# Common VCS dirs
|
||||||
|
.git/
|
||||||
|
.gitignore
|
||||||
|
.bzr/
|
||||||
|
.bzrignore
|
||||||
|
.hg/
|
||||||
|
.hgignore
|
||||||
|
.svn/
|
||||||
|
# Common backup files
|
||||||
|
*.swp
|
||||||
|
*.bak
|
||||||
|
*.tmp
|
||||||
|
*.orig
|
||||||
|
*~
|
||||||
|
# Various IDEs
|
||||||
|
.project
|
||||||
|
.idea/
|
||||||
|
*.tmproj
|
||||||
|
.vscode/
|
||||||
|
example/
|
||||||
|
README.md
|
||||||
@@ -0,0 +1,7 @@
|
|||||||
|
apiVersion: v2
|
||||||
|
appVersion: v0.4.0
|
||||||
|
description: A Helm chart for kafka-UI
|
||||||
|
icon: https://github.com/provectus/kafka-ui/raw/master/documentation/images/kafka-ui-logo.png
|
||||||
|
name: kafka-ui
|
||||||
|
type: application
|
||||||
|
version: v0.4.1
|
||||||
@@ -0,0 +1,3 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
entries: {}
|
||||||
|
generated: "2021-11-11T12:26:08.479581+03:00"
|
||||||
@@ -0,0 +1,21 @@
|
|||||||
|
1. Get the application URL by running these commands:
|
||||||
|
{{- if .Values.ingress.enabled }}
|
||||||
|
{{- range $host := .Values.ingress.hosts }}
|
||||||
|
{{- range .paths }}
|
||||||
|
http{{ if $.Values.ingress.tls }}s{{ end }}://{{ $host.host }}{{ . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else if contains "NodePort" .Values.service.type }}
|
||||||
|
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "kafka-ui.fullname" . }})
|
||||||
|
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
|
||||||
|
echo http://$NODE_IP:$NODE_PORT
|
||||||
|
{{- else if contains "LoadBalancer" .Values.service.type }}
|
||||||
|
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
|
||||||
|
You can watch the status of by running 'kubectl get --namespace {{ .Release.Namespace }} svc -w {{ include "kafka-ui.fullname" . }}'
|
||||||
|
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "kafka-ui.fullname" . }} --template "{{"{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}"}}")
|
||||||
|
echo http://$SERVICE_IP:{{ .Values.service.port }}
|
||||||
|
{{- else if contains "ClusterIP" .Values.service.type }}
|
||||||
|
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "kafka-ui.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
|
||||||
|
echo "Visit http://127.0.0.1:8080 to use your application"
|
||||||
|
kubectl --namespace {{ .Release.Namespace }} port-forward $POD_NAME 8080:8080
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
{{/* vim: set filetype=mustache: */}}
|
||||||
|
{{/*
|
||||||
|
Expand the name of the chart.
|
||||||
|
*/}}
|
||||||
|
{{- define "kafka-ui.name" -}}
|
||||||
|
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create a default fully qualified app name.
|
||||||
|
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
|
||||||
|
If release name contains chart name it will be used as a full name.
|
||||||
|
*/}}
|
||||||
|
{{- define "kafka-ui.fullname" -}}
|
||||||
|
{{- if .Values.fullnameOverride }}
|
||||||
|
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- $name := default .Chart.Name .Values.nameOverride }}
|
||||||
|
{{- if contains $name .Release.Name }}
|
||||||
|
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- else }}
|
||||||
|
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create chart name and version as used by the chart label.
|
||||||
|
*/}}
|
||||||
|
{{- define "kafka-ui.chart" -}}
|
||||||
|
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Common labels
|
||||||
|
*/}}
|
||||||
|
{{- define "kafka-ui.labels" -}}
|
||||||
|
helm.sh/chart: {{ include "kafka-ui.chart" . }}
|
||||||
|
{{ include "kafka-ui.selectorLabels" . }}
|
||||||
|
{{- if .Chart.AppVersion }}
|
||||||
|
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
||||||
|
{{- end }}
|
||||||
|
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Selector labels
|
||||||
|
*/}}
|
||||||
|
{{- define "kafka-ui.selectorLabels" -}}
|
||||||
|
app.kubernetes.io/name: {{ include "kafka-ui.name" . }}
|
||||||
|
app.kubernetes.io/instance: {{ .Release.Name }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
Create the name of the service account to use
|
||||||
|
*/}}
|
||||||
|
{{- define "kafka-ui.serviceAccountName" -}}
|
||||||
|
{{- if .Values.serviceAccount.create }}
|
||||||
|
{{- default (include "kafka-ui.fullname" .) .Values.serviceAccount.name }}
|
||||||
|
{{- else }}
|
||||||
|
{{- default "default" .Values.serviceAccount.name }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
|
||||||
|
|
||||||
|
{{/*
|
||||||
|
This allows us to check if the registry of the image is specified or not.
|
||||||
|
*/}}
|
||||||
|
{{- define "kafka-ui.imageName" -}}
|
||||||
|
{{- $registryName := .Values.image.registry -}}
|
||||||
|
{{- $repository := .Values.image.repository -}}
|
||||||
|
{{- $tag := .Values.image.tag | default .Chart.AppVersion -}}
|
||||||
|
{{- if $registryName }}
|
||||||
|
{{- printf "%s/%s:%s" $registryName $repository $tag -}}
|
||||||
|
{{- else }}
|
||||||
|
{{- printf "%s:%s" $repository $tag -}}
|
||||||
|
{{- end }}
|
||||||
|
{{- end -}}
|
||||||
|
|
||||||
@@ -0,0 +1,10 @@
|
|||||||
|
{{- if .Values.envs.config -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ include "kafka-ui.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "kafka-ui.labels" . | nindent 4 }}
|
||||||
|
data:
|
||||||
|
{{- toYaml .Values.envs.config | nindent 2 }}
|
||||||
|
{{- end -}}
|
||||||
@@ -0,0 +1,11 @@
|
|||||||
|
{{- if .Values.yamlApplicationConfig -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ConfigMap
|
||||||
|
metadata:
|
||||||
|
name: {{ include "kafka-ui.fullname" . }}-fromvalues
|
||||||
|
labels:
|
||||||
|
{{- include "kafka-ui.labels" . | nindent 4 }}
|
||||||
|
data:
|
||||||
|
config.yml: |-
|
||||||
|
{{- toYaml .Values.yamlApplicationConfig | nindent 4}}
|
||||||
|
{{ end }}
|
||||||
@@ -0,0 +1,139 @@
|
|||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
metadata:
|
||||||
|
name: {{ include "kafka-ui.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "kafka-ui.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
{{- if not .Values.autoscaling.enabled }}
|
||||||
|
replicas: {{ .Values.replicaCount }}
|
||||||
|
{{- end }}
|
||||||
|
selector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "kafka-ui.selectorLabels" . | nindent 6 }}
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
annotations:
|
||||||
|
{{- with .Values.podAnnotations }}
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
checksum/config: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
|
||||||
|
checksum/secret: {{ include (print $.Template.BasePath "/secret.yaml") . | sha256sum }}
|
||||||
|
labels:
|
||||||
|
{{- include "kafka-ui.selectorLabels" . | nindent 8 }}
|
||||||
|
{{- if .Values.podLabels }}
|
||||||
|
{{- toYaml .Values.podLabels | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- with .Values.imagePullSecrets }}
|
||||||
|
imagePullSecrets:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.initContainers }}
|
||||||
|
initContainers:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
serviceAccountName: {{ include "kafka-ui.serviceAccountName" . }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
||||||
|
containers:
|
||||||
|
- name: {{ .Chart.Name }}
|
||||||
|
securityContext:
|
||||||
|
{{- toYaml .Values.securityContext | nindent 12 }}
|
||||||
|
image: {{ include "kafka-ui.imageName" . }}
|
||||||
|
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||||
|
{{- if or .Values.env .Values.yamlApplicationConfig .Values.yamlApplicationConfigConfigMap}}
|
||||||
|
env:
|
||||||
|
{{- with .Values.env }}
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.yamlApplicationConfig .Values.yamlApplicationConfigConfigMap}}
|
||||||
|
- name: SPRING_CONFIG_LOCATION
|
||||||
|
{{- if .Values.yamlApplicationConfig }}
|
||||||
|
value: /kafka-ui/config.yml
|
||||||
|
{{- else if .Values.yamlApplicationConfigConfigMap }}
|
||||||
|
value: /kafka-ui/{{ .Values.yamlApplicationConfigConfigMap.keyName | default "config.yml" }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
envFrom:
|
||||||
|
{{- if .Values.existingConfigMap }}
|
||||||
|
- configMapRef:
|
||||||
|
name: {{ .Values.existingConfigMap }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.envs.config }}
|
||||||
|
- configMapRef:
|
||||||
|
name: {{ include "kafka-ui.fullname" . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.existingSecret }}
|
||||||
|
- secretRef:
|
||||||
|
name: {{ .Values.existingSecret }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.envs.secret}}
|
||||||
|
- secretRef:
|
||||||
|
name: {{ include "kafka-ui.fullname" . }}
|
||||||
|
{{- end}}
|
||||||
|
ports:
|
||||||
|
- name: http
|
||||||
|
containerPort: 8080
|
||||||
|
protocol: TCP
|
||||||
|
livenessProbe:
|
||||||
|
httpGet:
|
||||||
|
{{- $contextPath := .Values.envs.config.SERVER_SERVLET_CONTEXT_PATH | default "" | printf "%s/actuator/health" | urlParse }}
|
||||||
|
path: {{ get $contextPath "path" }}
|
||||||
|
port: http
|
||||||
|
initialDelaySeconds: 60
|
||||||
|
periodSeconds: 30
|
||||||
|
timeoutSeconds: 10
|
||||||
|
readinessProbe:
|
||||||
|
httpGet:
|
||||||
|
{{- $contextPath := .Values.envs.config.SERVER_SERVLET_CONTEXT_PATH | default "" | printf "%s/actuator/health" | urlParse }}
|
||||||
|
path: {{ get $contextPath "path" }}
|
||||||
|
port: http
|
||||||
|
initialDelaySeconds: 60
|
||||||
|
periodSeconds: 30
|
||||||
|
timeoutSeconds: 10
|
||||||
|
resources:
|
||||||
|
{{- toYaml .Values.resources | nindent 12 }}
|
||||||
|
{{- if or .Values.yamlApplicationConfig .Values.volumeMounts .Values.yamlApplicationConfigConfigMap}}
|
||||||
|
volumeMounts:
|
||||||
|
{{- with .Values.volumeMounts }}
|
||||||
|
{{- toYaml . | nindent 12 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.yamlApplicationConfig }}
|
||||||
|
- name: kafka-ui-yaml-conf
|
||||||
|
mountPath: /kafka-ui/
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.yamlApplicationConfigConfigMap}}
|
||||||
|
- name: kafka-ui-yaml-conf-configmap
|
||||||
|
mountPath: /kafka-ui/
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if or .Values.yamlApplicationConfig .Values.volumes .Values.yamlApplicationConfigConfigMap}}
|
||||||
|
volumes:
|
||||||
|
{{- with .Values.volumes }}
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.yamlApplicationConfig }}
|
||||||
|
- name: kafka-ui-yaml-conf
|
||||||
|
configMap:
|
||||||
|
name: {{ include "kafka-ui.fullname" . }}-fromvalues
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.yamlApplicationConfigConfigMap}}
|
||||||
|
- name: kafka-ui-yaml-conf-configmap
|
||||||
|
configMap:
|
||||||
|
name: {{ .Values.yamlApplicationConfigConfigMap.name }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.nodeSelector }}
|
||||||
|
nodeSelector:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.affinity }}
|
||||||
|
affinity:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- with .Values.tolerations }}
|
||||||
|
tolerations:
|
||||||
|
{{- toYaml . | nindent 8 }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
{{- if .Values.autoscaling.enabled }}
|
||||||
|
apiVersion: autoscaling/v2beta1
|
||||||
|
kind: HorizontalPodAutoscaler
|
||||||
|
metadata:
|
||||||
|
name: {{ include "kafka-ui.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "kafka-ui.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
scaleTargetRef:
|
||||||
|
apiVersion: apps/v1
|
||||||
|
kind: Deployment
|
||||||
|
name: {{ include "kafka-ui.fullname" . }}
|
||||||
|
minReplicas: {{ .Values.autoscaling.minReplicas }}
|
||||||
|
maxReplicas: {{ .Values.autoscaling.maxReplicas }}
|
||||||
|
metrics:
|
||||||
|
{{- if .Values.autoscaling.targetCPUUtilizationPercentage }}
|
||||||
|
- type: Resource
|
||||||
|
resource:
|
||||||
|
name: cpu
|
||||||
|
targetAverageUtilization: {{ .Values.autoscaling.targetCPUUtilizationPercentage }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
||||||
|
- type: Resource
|
||||||
|
resource:
|
||||||
|
name: memory
|
||||||
|
targetAverageUtilization: {{ .Values.autoscaling.targetMemoryUtilizationPercentage }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,87 @@
|
|||||||
|
{{- if .Values.ingress.enabled -}}
|
||||||
|
{{- $fullName := include "kafka-ui.fullname" . -}}
|
||||||
|
{{- $svcPort := .Values.service.port -}}
|
||||||
|
{{- if and ($.Capabilities.APIVersions.Has "networking.k8s.io/v1") (trimPrefix "v" .Capabilities.KubeVersion.Version | semverCompare ">= 1.19" ) -}}
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
{{- else if $.Capabilities.APIVersions.Has "networking.k8s.io/v1beta1" }}
|
||||||
|
apiVersion: networking.k8s.io/v1beta1
|
||||||
|
{{- else }}
|
||||||
|
apiVersion: extensions/v1beta1
|
||||||
|
{{- end }}
|
||||||
|
kind: Ingress
|
||||||
|
metadata:
|
||||||
|
name: {{ $fullName }}
|
||||||
|
labels:
|
||||||
|
{{- include "kafka-ui.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.ingress.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
{{- if .Values.ingress.tls.enabled }}
|
||||||
|
tls:
|
||||||
|
- hosts:
|
||||||
|
- {{ tpl .Values.ingress.host . }}
|
||||||
|
secretName: {{ .Values.ingress.tls.secretName }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if .Values.ingress.ingressClassName }}
|
||||||
|
ingressClassName: {{ .Values.ingress.ingressClassName }}
|
||||||
|
{{- end }}
|
||||||
|
rules:
|
||||||
|
- http:
|
||||||
|
paths:
|
||||||
|
{{- if and ($.Capabilities.APIVersions.Has "networking.k8s.io/v1") (trimPrefix "v" .Capabilities.KubeVersion.Version | semverCompare ">= 1.19" ) -}}
|
||||||
|
{{- range .Values.ingress.precedingPaths }}
|
||||||
|
- path: {{ .path }}
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: {{ .serviceName }}
|
||||||
|
port:
|
||||||
|
number: {{ .servicePort }}
|
||||||
|
{{- end }}
|
||||||
|
- backend:
|
||||||
|
service:
|
||||||
|
name: {{ $fullName }}
|
||||||
|
port:
|
||||||
|
number: {{ $svcPort }}
|
||||||
|
pathType: Prefix
|
||||||
|
{{- if .Values.ingress.path }}
|
||||||
|
path: {{ .Values.ingress.path }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range .Values.ingress.succeedingPaths }}
|
||||||
|
- path: {{ .path }}
|
||||||
|
pathType: Prefix
|
||||||
|
backend:
|
||||||
|
service:
|
||||||
|
name: {{ .serviceName }}
|
||||||
|
port:
|
||||||
|
number: {{ .servicePort }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if tpl .Values.ingress.host . }}
|
||||||
|
host: {{tpl .Values.ingress.host . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- else -}}
|
||||||
|
{{- range .Values.ingress.precedingPaths }}
|
||||||
|
- path: {{ .path }}
|
||||||
|
backend:
|
||||||
|
serviceName: {{ .serviceName }}
|
||||||
|
servicePort: {{ .servicePort }}
|
||||||
|
{{- end }}
|
||||||
|
- backend:
|
||||||
|
serviceName: {{ $fullName }}
|
||||||
|
servicePort: {{ $svcPort }}
|
||||||
|
{{- if .Values.ingress.path }}
|
||||||
|
path: {{ .Values.ingress.path }}
|
||||||
|
{{- end }}
|
||||||
|
{{- range .Values.ingress.succeedingPaths }}
|
||||||
|
- path: {{ .path }}
|
||||||
|
backend:
|
||||||
|
serviceName: {{ .serviceName }}
|
||||||
|
servicePort: {{ .servicePort }}
|
||||||
|
{{- end }}
|
||||||
|
{{- if tpl .Values.ingress.host . }}
|
||||||
|
host: {{ tpl .Values.ingress.host . }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{{- if and .Values.networkPolicy.enabled .Values.networkPolicy.egressRules.customRules }}
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: NetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: {{ printf "%s-egress" (include "kafka-ui.fullname" .) }}
|
||||||
|
labels:
|
||||||
|
{{- include "kafka-ui.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
podSelector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "kafka-ui.selectorLabels" . | nindent 6 }}
|
||||||
|
policyTypes:
|
||||||
|
- Egress
|
||||||
|
egress:
|
||||||
|
{{- if .Values.networkPolicy.egressRules.customRules }}
|
||||||
|
{{- toYaml .Values.networkPolicy.egressRules.customRules | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,18 @@
|
|||||||
|
{{- if and .Values.networkPolicy.enabled .Values.networkPolicy.ingressRules.customRules }}
|
||||||
|
apiVersion: networking.k8s.io/v1
|
||||||
|
kind: NetworkPolicy
|
||||||
|
metadata:
|
||||||
|
name: {{ printf "%s-ingress" (include "kafka-ui.fullname" .) }}
|
||||||
|
labels:
|
||||||
|
{{- include "kafka-ui.labels" . | nindent 4 }}
|
||||||
|
spec:
|
||||||
|
podSelector:
|
||||||
|
matchLabels:
|
||||||
|
{{- include "kafka-ui.selectorLabels" . | nindent 6 }}
|
||||||
|
policyTypes:
|
||||||
|
- Ingress
|
||||||
|
ingress:
|
||||||
|
{{- if .Values.networkPolicy.ingressRules.customRules }}
|
||||||
|
{{- toYaml .Values.networkPolicy.ingressRules.customRules | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,9 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: {{ include "kafka-ui.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "kafka-ui.labels" . | nindent 4 }}
|
||||||
|
type: Opaque
|
||||||
|
data:
|
||||||
|
{{- toYaml .Values.envs.secret | nindent 2 }}
|
||||||
@@ -0,0 +1,22 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: {{ include "kafka-ui.fullname" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "kafka-ui.labels" . | nindent 4 }}
|
||||||
|
{{- if .Values.service.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{ toYaml .Values.service.annotations | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
spec:
|
||||||
|
type: {{ .Values.service.type }}
|
||||||
|
ports:
|
||||||
|
- port: {{ .Values.service.port }}
|
||||||
|
targetPort: http
|
||||||
|
protocol: TCP
|
||||||
|
name: http
|
||||||
|
{{- if (and (eq .Values.service.type "NodePort") .Values.service.nodePort) }}
|
||||||
|
nodePort: {{ .Values.service.nodePort }}
|
||||||
|
{{- end }}
|
||||||
|
selector:
|
||||||
|
{{- include "kafka-ui.selectorLabels" . | nindent 4 }}
|
||||||
@@ -0,0 +1,12 @@
|
|||||||
|
{{- if .Values.serviceAccount.create -}}
|
||||||
|
apiVersion: v1
|
||||||
|
kind: ServiceAccount
|
||||||
|
metadata:
|
||||||
|
name: {{ include "kafka-ui.serviceAccountName" . }}
|
||||||
|
labels:
|
||||||
|
{{- include "kafka-ui.labels" . | nindent 4 }}
|
||||||
|
{{- with .Values.serviceAccount.annotations }}
|
||||||
|
annotations:
|
||||||
|
{{- toYaml . | nindent 4 }}
|
||||||
|
{{- end }}
|
||||||
|
{{- end }}
|
||||||
@@ -0,0 +1,151 @@
|
|||||||
|
replicaCount: 1
|
||||||
|
|
||||||
|
image:
|
||||||
|
registry: docker.io
|
||||||
|
repository: provectuslabs/kafka-ui
|
||||||
|
pullPolicy: IfNotPresent
|
||||||
|
# Overrides the image tag whose default is the chart appVersion.
|
||||||
|
tag: ""
|
||||||
|
|
||||||
|
imagePullSecrets: []
|
||||||
|
nameOverride: ""
|
||||||
|
fullnameOverride: ""
|
||||||
|
|
||||||
|
serviceAccount:
|
||||||
|
# Specifies whether a service account should be created
|
||||||
|
create: true
|
||||||
|
# Annotations to add to the service account
|
||||||
|
annotations: {}
|
||||||
|
# The name of the service account to use.
|
||||||
|
# If not set and create is true, a name is generated using the fullname template
|
||||||
|
name: ""
|
||||||
|
|
||||||
|
existingConfigMap: ""
|
||||||
|
yamlApplicationConfig:
|
||||||
|
{}
|
||||||
|
# kafka:
|
||||||
|
# clusters:
|
||||||
|
# - name: yaml
|
||||||
|
# bootstrapServers: kafka-service:9092
|
||||||
|
# spring:
|
||||||
|
# security:
|
||||||
|
# oauth2:
|
||||||
|
# auth:
|
||||||
|
# type: disabled
|
||||||
|
# management:
|
||||||
|
# health:
|
||||||
|
# ldap:
|
||||||
|
# enabled: false
|
||||||
|
yamlApplicationConfigConfigMap:
|
||||||
|
{}
|
||||||
|
# keyName: config.yml
|
||||||
|
# name: configMapName
|
||||||
|
existingSecret: ""
|
||||||
|
envs:
|
||||||
|
secret: {}
|
||||||
|
config:
|
||||||
|
KAFKA_CLUSTERS_0_NAME: local
|
||||||
|
KAFKA_CLUSTERS_0_BOOTSTRAPSERVERS: kafka:9092
|
||||||
|
|
||||||
|
networkPolicy:
|
||||||
|
enabled: false
|
||||||
|
egressRules:
|
||||||
|
## Additional custom egress rules
|
||||||
|
## e.g:
|
||||||
|
## customRules:
|
||||||
|
## - to:
|
||||||
|
## - namespaceSelector:
|
||||||
|
## matchLabels:
|
||||||
|
## label: example
|
||||||
|
customRules: []
|
||||||
|
ingressRules:
|
||||||
|
## Additional custom ingress rules
|
||||||
|
## e.g:
|
||||||
|
## customRules:
|
||||||
|
## - from:
|
||||||
|
## - namespaceSelector:
|
||||||
|
## matchLabels:
|
||||||
|
## label: example
|
||||||
|
customRules: []
|
||||||
|
|
||||||
|
podAnnotations: {}
|
||||||
|
podLabels: {}
|
||||||
|
|
||||||
|
podSecurityContext:
|
||||||
|
{}
|
||||||
|
# fsGroup: 2000
|
||||||
|
|
||||||
|
securityContext:
|
||||||
|
{}
|
||||||
|
# capabilities:
|
||||||
|
# drop:
|
||||||
|
# - ALL
|
||||||
|
# readOnlyRootFilesystem: true
|
||||||
|
# runAsNonRoot: true
|
||||||
|
# runAsUser: 1000
|
||||||
|
|
||||||
|
service:
|
||||||
|
type: NodePort
|
||||||
|
port: 80
|
||||||
|
# if you want to force a specific nodePort. Must be use with service.type=NodePort
|
||||||
|
nodePort: 32156
|
||||||
|
|
||||||
|
# Ingress configuration
|
||||||
|
ingress:
|
||||||
|
# Enable ingress resource
|
||||||
|
enabled: false
|
||||||
|
|
||||||
|
# Annotations for the Ingress
|
||||||
|
annotations: {}
|
||||||
|
|
||||||
|
# ingressClassName for the Ingress
|
||||||
|
ingressClassName: ""
|
||||||
|
|
||||||
|
# The path for the Ingress
|
||||||
|
path: ""
|
||||||
|
|
||||||
|
# The hostname for the Ingress
|
||||||
|
host: ""
|
||||||
|
|
||||||
|
# configs for Ingress TLS
|
||||||
|
tls:
|
||||||
|
# Enable TLS termination for the Ingress
|
||||||
|
enabled: false
|
||||||
|
# the name of a pre-created Secret containing a TLS private key and certificate
|
||||||
|
secretName: ""
|
||||||
|
|
||||||
|
# HTTP paths to add to the Ingress before the default path
|
||||||
|
precedingPaths: []
|
||||||
|
|
||||||
|
# Http paths to add to the Ingress after the default path
|
||||||
|
succeedingPaths: []
|
||||||
|
|
||||||
|
resources:
|
||||||
|
{}
|
||||||
|
# limits:
|
||||||
|
# cpu: 200m
|
||||||
|
# memory: 512Mi
|
||||||
|
# requests:
|
||||||
|
# cpu: 200m
|
||||||
|
# memory: 256Mi
|
||||||
|
|
||||||
|
autoscaling:
|
||||||
|
enabled: false
|
||||||
|
minReplicas: 1
|
||||||
|
maxReplicas: 100
|
||||||
|
targetCPUUtilizationPercentage: 80
|
||||||
|
# targetMemoryUtilizationPercentage: 80
|
||||||
|
|
||||||
|
nodeSelector: {}
|
||||||
|
|
||||||
|
tolerations: []
|
||||||
|
|
||||||
|
affinity: {}
|
||||||
|
|
||||||
|
env: {}
|
||||||
|
|
||||||
|
initContainers: {}
|
||||||
|
|
||||||
|
volumeMounts: {}
|
||||||
|
|
||||||
|
volumes: {}
|
||||||
@@ -2,17 +2,34 @@
|
|||||||
command: "{{ role_path }}/files/postgres_check_data {{ cmoa_namespace }}"
|
command: "{{ role_path }}/files/postgres_check_data {{ cmoa_namespace }}"
|
||||||
register: pg_check_result
|
register: pg_check_result
|
||||||
|
|
||||||
- name: 2. Insert Elasticsearch template
|
- name: 2.1. Change a Elasticsearch Service (NodePort=elasticsearch_nodePort)
|
||||||
|
kubernetes.core.k8s:
|
||||||
|
state: present
|
||||||
|
definition:
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: "{{ elasticsearch_service_name }}"
|
||||||
|
namespace: "{{ cmoa_namespace }}"
|
||||||
|
spec:
|
||||||
|
type: NodePort
|
||||||
|
ports:
|
||||||
|
- protocol: TCP
|
||||||
|
port: "{{ elasticsearch_service_port }}"
|
||||||
|
nodePort: "{{ elasticsearch_nodePort }}"
|
||||||
|
apply: yes
|
||||||
|
|
||||||
|
- name: 2.2. Insert Elasticsearch template
|
||||||
command: "sh {{ role_path }}/files/03-ddl-dml/elasticsearch/es-ddl-put.sh {{ cmoa_namespace }}"
|
command: "sh {{ role_path }}/files/03-ddl-dml/elasticsearch/es-ddl-put.sh {{ cmoa_namespace }}"
|
||||||
|
|
||||||
- name: 2.1. Elasticsearch dependency deploy restart
|
- name: 2.3. Elasticsearch dependency deploy restart
|
||||||
command: "kubectl -n {{ cmoa_namespace }} rollout restart deploy alertmanager base-cortex-configs base-cortex-distributor base-cortex-ruler"
|
command: "kubectl -n {{ cmoa_namespace }} rollout restart deploy alertmanager base-cortex-configs base-cortex-distributor base-cortex-ruler"
|
||||||
register: restart
|
register: restart
|
||||||
|
|
||||||
- debug:
|
- debug:
|
||||||
msg: "{{restart.stdout_lines}}"
|
msg: "{{restart.stdout_lines}}"
|
||||||
|
|
||||||
- name: 2.2. Check Kubernetes Pods (Elasticsearch dependency)
|
- name: 2.4. Check Kubernetes Pods (Elasticsearch dependency)
|
||||||
command: "{{ role_path }}/files/k8s_status {{ cmoa_namespace }} alertmanage"
|
command: "{{ role_path }}/files/k8s_status {{ cmoa_namespace }} alertmanage"
|
||||||
|
|
||||||
- name: 3. Get a list of all pods from the namespace
|
- name: 3. Get a list of all pods from the namespace
|
||||||
|
|||||||
@@ -15,20 +15,3 @@
|
|||||||
- name: 4. Check Kubernetes Pods (base)
|
- name: 4. Check Kubernetes Pods (base)
|
||||||
command: "{{ role_path }}/files/k8s_status {{ cmoa_namespace }}"
|
command: "{{ role_path }}/files/k8s_status {{ cmoa_namespace }}"
|
||||||
|
|
||||||
|
|
||||||
- name: 5. Change a Elasticsearch Service (NodePort=elasticsearch_nodePort)
|
|
||||||
kubernetes.core.k8s:
|
|
||||||
state: present
|
|
||||||
definition:
|
|
||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: "{{ elasticsearch_service_name }}"
|
|
||||||
namespace: "{{ cmoa_namespace }}"
|
|
||||||
spec:
|
|
||||||
type: NodePort
|
|
||||||
ports:
|
|
||||||
- protocol: TCP
|
|
||||||
port: "{{ elasticsearch_service_port }}"
|
|
||||||
nodePort: "{{ elasticsearch_nodePort }}"
|
|
||||||
apply: yes
|
|
||||||
|
|||||||
Reference in New Issue
Block a user