[openstack-dev] [kolla][kolla-kubernetes] microservices api status

Fox, Kevin M Kevin.Fox at pnnl.gov
Wed Jan 4 02:44:03 UTC 2017


I was asked to brief everyone with where we were at with the kolla-kubernetes microservices api.

Config of the Kubernetes objects (not talking about openstack config files) is done through Helm values as all good Helm packages do. Defaults come from the Helm packages values.yaml file (1) and can be overridden by the user via their own Values.yaml file or on the command line with --set. (ex: helm install <package> --values mycloud.yaml --set docker_registry=local-a)

When rolled up into service packages, the same still holds, but the values for each microservice are just prefixed with the microservices name. (2)

This has allowed the most flexibility in the configuration allowing kolla-kubernetes to be used my the most number of operators over the most varied amount of use cases.

This arrangement does have the drawback of being overly verbose to use though. So, we've come up with an additional set of values using some of the brand new features in Helm 2.1.2 (deep globals) and Helm 2.1.3 (set function). Thanks Helm Devs! :)

With these, its possible to use the Helm global values mechanism to make it easy to set a value that affects multiple packages, while still being able to override more specific package settings.

For example, this value file can change the default docker registry to pull from local-a for all packages except all neutron ones pull from local-b and all nova from local-c:
global:
  kolla:
    all:
      docker_registry: local-a
    neutron:
      all:
        docker_registry: local-b
    nova:
      all:
        docker_registry: local-b

The following should then do the right thing:
helm install kolla/cinder  --values mycloud.yaml
helm install kolla/nova    --values mycloud.yaml
helm install kolla/neutron --values mycloud.yaml
...

It also leaves room for openstack to be embedded in bigger Helm packages yet, as all the rest of the global space should not conflict.

Thoughts?

Thanks,
Kevin

-------------
references

1. values files:
  https://github.com/kubernetes/helm/blob/master/docs/chart_template_guide/values_files.md#values-files

2. subchart value overriding behavior:
  https://github.com/kubernetes/helm/blob/master/docs/chart_template_guide/subcharts_and_globals.md#overriding-values-from-a-parent-chart
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openstack.org/pipermail/openstack-dev/attachments/20170104/99e03ec2/attachment.html>


More information about the OpenStack-dev mailing list