以下是我的设置
-
Kubernetes具有主节点和工作节点的cluser . (IP -
192.168.55.40/41) -
kubectl版本 - v1.4.5
-
两个节点都运行 coreos
-
Ubuntu 14.04上的Devstack单节点设置(IP - 192.168.55.60)
stack @ vagrant-ubuntu-trusty-64:〜/ devstack $ neutron --version 6.0.0
我正在尝试使用openstack的负载均衡器来对k8s集群中运行的服务进行负载均衡 . 我做了以下更改 .
- 将以下行添加到 kubernetes-apiserver.service 和
kubernetes-controller-manager.service
--cloud_config =的/ etc / SYSCONFIG / kube_openstack_config
--cloud_provider = OpenStack的
- 以下是/ etc / sysconfig / kube_openstack_config的内容
[Global] auth-url=http://192.168.55.60/identity_admin username=admin password=password tenant-name=admin region=regionOne
- 重新启动kubernetes-apiserver.service
现在,当我使用类型 - Loadbalancer创建服务时,会创建服务,但Openstack端没有更改 .
我用journalctl检查了系统上的日志,并显示有关cloud_config文件的错误 .
plugins.go:80] Couldn't open cloud provider configuration /home/core/kube_openstack_config
该文件存在,并为所有用户提供读取权限 . 什么可能是错的?
1 回答
这里给出了如何使用Openstack Neutron配置Kubernetes的详细信息:
http://docs.openstack.org/developer/magnum/dev/kubernetes-load-balancer.html
我的第一个问题是你在运行什么版本的Neutron?负载 balancer 功能现在才在最新版本的Openstack中发展,这可以解释设置它的困难 .
就个人而言,我赞成Kubernetes中的新Ingress feature配置负载均衡器 . 这样可以更好地控制使用哪个负载均衡器以及如何配置它 . 例如,我遇到的最简单的设置是使用Traefik入口控制器
https://docs.traefik.io/user-guide/kubernetes/
作为群集上的简单Pod运行 .