Converting keepalived into helm charts
Converting keepalived into helm charts Change-Id: I5cf1f75db46771236ed7f3553016df8cec6b23b2 Partially-Implements: blueprint more-microservices
This commit is contained in:
parent
da0391fa59
commit
7dfb7299d9
|
@ -19,6 +19,8 @@ common:
|
|||
container_config_directory: /var/lib/kolla/config_files
|
||||
kubernetes_entrypoint: false
|
||||
resolve_conf_net_host_workaround: true
|
||||
kolla_kubernetes_external_vip: 172.18.0.1
|
||||
kolla_kubernetes_external_subnet: 24
|
||||
kube_logger: true
|
||||
|
||||
common-mariadb:
|
||||
|
@ -293,6 +295,13 @@ openvswitch-vswitchd-daemonset:
|
|||
ext_bridge_name: br-ex
|
||||
ext_interface_name: eth1
|
||||
|
||||
keepalived-daemonset:
|
||||
global:
|
||||
kolla:
|
||||
keepalived:
|
||||
all:
|
||||
api_interface: br-ex
|
||||
|
||||
rabbitmq-init-element-job:
|
||||
global:
|
||||
element_name: rabbitmq
|
||||
|
|
|
@ -0,0 +1,11 @@
|
|||
apiVersion: v1
|
||||
version: 0.6.0-1
|
||||
description: keepalived microservice chart
|
||||
name: keepalived-daemonset
|
||||
keywords:
|
||||
- openstack
|
||||
- keepalived
|
||||
home: http://www.openstack.org
|
||||
sources:
|
||||
- http://github.com/openstack
|
||||
engine: gotpl
|
|
@ -0,0 +1,4 @@
|
|||
dependencies:
|
||||
- name: kolla-common
|
||||
repository: file://../../kolla-common
|
||||
version: 0.6.0-1
|
|
@ -0,0 +1,113 @@
|
|||
{{- $restype := .Values.type }}
|
||||
{{- $searchPath := ":global.kolla.keepalived.daemonset:global.kolla.keepalived.all:global.kolla.all" }}
|
||||
{{- $c := dict "searchPath" $searchPath "Values" .Values }}
|
||||
{{- $_ := set $c "contName" "keepalived" }}
|
||||
{{- $_ := set $c "imageName" "image_full" }}
|
||||
{{- $_ := set $c "tagName" "image_tag" }}
|
||||
{{- $imageFull := include "kolla_build_image_full" $c }}
|
||||
{{- $imagePullPolicy := include "kolla_val_get_str" (dict "key" "image_pull_policy" "searchPath" $searchPath "Values" .Values ) }}
|
||||
{{- $containerConfigDirectory := include "kolla_val_get_str" (dict "key" "container_config_directory" "searchPath" $searchPath "Values" .Values ) }}
|
||||
{{- $selectorKey := include "kolla_val_get_str" (dict "key" "selector_key" "searchPath" $searchPath "Values" .Values ) }}
|
||||
{{- $selectorValue := include "kolla_val_get_str" (dict "key" "selector_value" "searchPath" $searchPath "Values" .Values ) }}
|
||||
{{- $resourceName := "keepalived" }}
|
||||
{{- $netHostTrue := true }}
|
||||
{{- $podTypeBootstrap := false }}
|
||||
{{- $apiInterface := include "kolla_val_get_str" (dict "key" "api_interface" "searchPath" $searchPath "Values" .Values ) }}
|
||||
{{- $kollaKubernetesExternalVIP := include "kolla_val_get_str" (dict "key" "kolla_kubernetes_external_vip" "searchPath" $searchPath "Values" .Values ) }}
|
||||
{{- with $env := dict "netHostTrue" $netHostTrue "podTypeBootstrap" $podTypeBootstrap "resourceName" $resourceName "Values" .Values "Release" .Release "searchPath" $searchPath }}
|
||||
apiVersion: extensions/v1beta1
|
||||
kind: DaemonSet
|
||||
metadata:
|
||||
name: keepalived
|
||||
labels:
|
||||
component: keepalived
|
||||
system: keepalived
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
component: keepalived
|
||||
system: keepalived
|
||||
annotations:
|
||||
pod.beta.kubernetes.io/init-containers: '[
|
||||
{{- include "common_dependency_container_multi" $env | indent 10 }}
|
||||
{
|
||||
"name": "initialize-keepalived",
|
||||
"image": "{{ $imageFull }}",
|
||||
"imagePullPolicy": {{ $imagePullPolicy | quote }},
|
||||
"command": [
|
||||
"sh",
|
||||
"-xec",
|
||||
"cp -a /srv/configmap/..data/* /srv/pod-main-config/;
|
||||
API_INTERFACE={{ $apiInterface }};
|
||||
F=/var/lib/kolla-kubernetes/keepalived/api_interface;
|
||||
[ -f $F ] && API_INTERFACE=$(<$F);
|
||||
sed -i ''s|interface.*|interface ''$API_INTERFACE''|g'' /srv/pod-main-config/keepalived.conf;
|
||||
sed -i ''s|\\(dev*\\).*|\\1 ''$API_INTERFACE''|g'' /srv/pod-main-config/keepalived.conf;
|
||||
cat /srv/pod-main-config/keepalived.conf;
|
||||
"],
|
||||
"volumeMounts": [
|
||||
{
|
||||
"name": "keepalived-configmap",
|
||||
"mountPath": "/srv/configmap"
|
||||
},
|
||||
{
|
||||
"name": "pod-main-config",
|
||||
"mountPath": "/srv/pod-main-config"
|
||||
},
|
||||
{
|
||||
"name": "host-var-lib-kk",
|
||||
"mountPath": "/var/lib/kolla-kubernetes"
|
||||
}
|
||||
]
|
||||
}
|
||||
]'
|
||||
spec:
|
||||
hostNetwork: True
|
||||
nodeSelector:
|
||||
{{ $selectorKey }}: {{ $selectorValue | quote }}
|
||||
containers:
|
||||
- image: "{{ $imageFull }}"
|
||||
imagePullPolicy: {{ $imagePullPolicy | quote }}
|
||||
name: main
|
||||
lifecycle:
|
||||
preStop:
|
||||
exec:
|
||||
command:
|
||||
- /bin/bash
|
||||
- -c
|
||||
- |
|
||||
sudo ifconfig {{ $apiInterface }} delete {{ $kollaKubernetesExternalVIP }};
|
||||
kill -HUP $(</var/run/keepalived.pid);
|
||||
securityContext:
|
||||
privileged: true
|
||||
env:
|
||||
- name: KOLLA_CONFIG_STRATEGY
|
||||
value: COPY_ONCE
|
||||
volumeMounts:
|
||||
{{- include "common_volume_mounts" $env | indent 12 }}
|
||||
- mountPath: {{ $containerConfigDirectory }}
|
||||
name: pod-main-config
|
||||
- mountPath: /var/run
|
||||
name: keepalived-run
|
||||
- mountPath: /lib/modules
|
||||
name: host-lib-modules
|
||||
readOnly: true
|
||||
{{- include "common_containers" . | indent 8 }}
|
||||
volumes:
|
||||
{{- include "common_volumes" . | indent 8 }}
|
||||
- name: pod-main-config
|
||||
emptyDir: {}
|
||||
- name: keepalived-run
|
||||
hostPath:
|
||||
path: /var/run
|
||||
- name: host-lib-modules
|
||||
hostPath:
|
||||
path: /lib/modules
|
||||
- name: keepalived-configmap
|
||||
configMap:
|
||||
name: keepalived
|
||||
- name: host-var-lib-kk
|
||||
hostPath:
|
||||
path: /var/lib/kolla-kubernetes
|
||||
{{- end }}
|
|
@ -0,0 +1,4 @@
|
|||
---
|
||||
features:
|
||||
- |
|
||||
Adds helm chart for keepalived.
|
|
@ -13,7 +13,7 @@ data:
|
|||
priority 1
|
||||
advert_int 1
|
||||
virtual_ipaddress {
|
||||
{{ kolla_kubernetes_external_vip }} dev {{ api_interface }}
|
||||
{{ kolla_kubernetes_external_vip }}/{{ kolla_kubernetes_external_subnet }} dev {{ api_interface }}
|
||||
}
|
||||
authentication {
|
||||
auth_type PASS
|
||||
|
@ -22,7 +22,7 @@ data:
|
|||
}
|
||||
config.json: |
|
||||
{
|
||||
"command": "/usr/sbin/keepalived -nld -p /run/keepalived.pid",
|
||||
"command": "/usr/sbin/keepalived -nld -p /var/run/keepalived.pid",
|
||||
"config_files": [
|
||||
{
|
||||
"source": "/var/lib/kolla/config_files/keepalived.conf",
|
||||
|
|
|
@ -79,8 +79,6 @@ helm install kolla/keystone-internal-svc --version $VERSION \
|
|||
--set $common_vars,type=network,selector_key=kolla_controller \
|
||||
--namespace kolla --name openvswitch-vswitchd-network
|
||||
|
||||
kollakube res create bootstrap openvswitch-set-external-ip
|
||||
|
||||
$DIR/tools/pull_containers.sh kolla
|
||||
$DIR/tools/wait_for_pods.sh kolla
|
||||
|
||||
|
@ -517,12 +515,16 @@ helm install kolla/nova-compute-daemonset --version $VERSION \
|
|||
--namespace kolla --name nova-compute-daemonset \
|
||||
--values /tmp/general_config.yaml --values /tmp/ceph_config.yaml
|
||||
|
||||
#kollakube res create pod keepalived
|
||||
|
||||
$DIR/tools/pull_containers.sh kolla
|
||||
$DIR/tools/wait_for_pods.sh kolla
|
||||
|
||||
kollakube res delete bootstrap openvswitch-set-external-ip
|
||||
#
|
||||
# Brining up br-ex so keepalived could bind VIP to it
|
||||
#
|
||||
sudo ifconfig br-ex up
|
||||
|
||||
helm install kolla/keepalived-daemonset --debug --version $VERSION \
|
||||
--namespace kolla --name keepalived-daemonset \
|
||||
--values /tmp/general_config.yaml --values /tmp/ceph_config.yaml
|
||||
|
||||
$DIR/tools/wait_for_pods.sh kolla
|
||||
|
||||
|
|
|
@ -80,9 +80,16 @@ helm install kolla/openvswitch --version $VERSION \
|
|||
|
||||
wait_for_pods kolla openvswitch running
|
||||
|
||||
kollakube res create bootstrap openvswitch-set-external-ip
|
||||
#
|
||||
# Brining up br-ex so keepalived could bind VIP to it
|
||||
#
|
||||
sudo ifconfig br-ex up
|
||||
|
||||
wait_for_pods kolla openvswitch-set-external succeeded
|
||||
helm install kolla/keepalived-daemonset --debug --version $VERSION \
|
||||
--namespace kolla --name keepalived-daemonset \
|
||||
--values /tmp/general_config.yaml --values /tmp/ceph_config.yaml
|
||||
|
||||
$DIR/tools/wait_for_pods.sh kolla
|
||||
|
||||
if [ "$devenv" = true ]; then
|
||||
$DIR/tools/build_local_admin_keystonerc.sh ext
|
||||
|
@ -151,6 +158,3 @@ helm install kolla/horizon --version $VERSION \
|
|||
#kollakube res create pod keepalived
|
||||
|
||||
wait_for_pods kolla nova,horizon running,succeeded
|
||||
|
||||
|
||||
kollakube res delete bootstrap openvswitch-set-external-ip
|
||||
|
|
|
@ -98,8 +98,15 @@ helm install kolla/compute-kit --version $VERSION \
|
|||
|
||||
$DIR/tools/wait_for_pods.sh kolla 900
|
||||
|
||||
kollakube res create bootstrap openvswitch-set-external-ip
|
||||
$DIR/tools/pull_containers.sh kolla
|
||||
#
|
||||
# Brining up br-ex so keepalived could bind VIP to it
|
||||
#
|
||||
sudo ifconfig br-ex up
|
||||
|
||||
helm install kolla/keepalived-daemonset --debug --version $VERSION \
|
||||
--namespace kolla --name keepalived-daemonset \
|
||||
--values /tmp/general_config.yaml --values /tmp/iscsi_config.yaml
|
||||
|
||||
$DIR/tools/wait_for_pods.sh kolla
|
||||
|
||||
$DIR/tools/build_local_admin_keystonerc.sh
|
||||
|
|
|
@ -218,7 +218,16 @@ helm install kolla/openvswitch-vswitchd-daemonset --version $VERSION \
|
|||
--namespace kolla --name openvswitch-vswitchd-network \
|
||||
--values /tmp/general_config.yaml --values /tmp/iscsi_config.yaml
|
||||
|
||||
kollakube res create bootstrap openvswitch-set-external-ip
|
||||
$DIR/tools/wait_for_pods.sh kolla
|
||||
|
||||
#
|
||||
# Brining up br-ex so keepalived could bind VIP to it
|
||||
#
|
||||
sudo ifconfig br-ex up
|
||||
|
||||
helm install kolla/keepalived-daemonset --debug --version $VERSION \
|
||||
--namespace kolla --name keepalived-daemonset \
|
||||
--values /tmp/general_config.yaml --values /tmp/iscsi_config.yaml
|
||||
|
||||
$DIR/tools/wait_for_pods.sh kolla
|
||||
|
||||
|
@ -526,14 +535,11 @@ helm install kolla/nova-cell0-create-db-job --debug --version $VERSION \
|
|||
|
||||
$DIR/tools/wait_for_pods.sh kolla
|
||||
|
||||
helm install kolla/nova-api-create-simple-cell-job --debug --version $VERSION \
|
||||
helm install kolla/nova-api-create-simple-cell-job --version $VERSION \
|
||||
--namespace kolla --name nova-api-create-simple-cell-job \
|
||||
--values /tmp/general_config.yaml --values /tmp/iscsi_config.yaml
|
||||
fi
|
||||
|
||||
$DIR/tools/wait_for_pods.sh kolla
|
||||
|
||||
#kollakube res create pod keepalived
|
||||
|
||||
kollakube res delete bootstrap openvswitch-set-external-ip
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue