hyperhq / hypernetes

The multi-tenant Kubernetes distro
http://hypernetes.com
Apache License 2.0
540 stars 46 forks source link

Integration with external Neutron-Server #173

Open f0o opened 7 years ago

f0o commented 7 years ago

Hi,

I've gone through the vast of the code and I cant really find the specific integration from KubeStack and Neutron. So the Neutron-Plugin that is being loaded to Neutron-Server to talk to KubeStack.

We have a working OpenStack deployment for IaaS and we're looking into integrating H8S into this.

Any pointers on how to configure H8S/KubeStack with an external Neutron-Server?

Cheers!

feiskyer commented 7 years ago

Hi, @f0o, please refer https://docs.hypernetes.com/admin/deploy.html for deployments.

Specifically, you need to configure kubestack (/etc/kubestack.conf) and set --network-provider for kubelet/controller-manager.

f0o commented 7 years ago

Hi,

The deployment guide isn't very conclusive and does leave big margins of guesswork.

Regardless.

Kubelet points to kubestack and Kubestack points to keystone.

I dont see where kubestack is being registered or referred as neutron plugin.

Is kubestack continuously scanning all neutron networks for changes and then applying it?

Or how else is it being hooked into creating a network when neutron is being called?

It clearly isn't listening on the AMQP exhange either.

If kubestack really is scanning neutron for changes for every tenant, how is this going to scale?

Cheers, f0o

On 1 August 2017 03:31:56 CEST, Pengfei Ni notifications@github.com wrote:

Hi, @f0o, please refer https://docs.hypernetes.com/admin/deploy.html for deployments.

Specifically, you need to configure kubestack (/etc/kubestack.conf) and set --network-provider for kubelet/controller-manager.

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/hyperhq/hypernetes/issues/173#issuecomment-319242108

-- Sent from my Android device with K-9 Mail. Please excuse my brevity.

feiskyer commented 7 years ago

@f0o Kubestack is not a neutron plugin, it doesn't register itself to neutron. And it doesn't watch neutron changes either.

Instead, you need to create a network with kubectl:

# cat network.yaml
apiVersion: v1
kind: Network
metadata:
  name: net1
spec:
  tenantID: 065f210a2ca9442aad898ab129426350
  subnets:
    subnet1:
      cidr: 192.168.0.0/24
      gateway: 192.168.0.1

# kubectl create -f ./network.yaml
network "net1" created
# kubectl get network
NAME      SUBNETS          PROVIDERNETWORKID    LABELS    STATUS
net1      192.168.0.0/24                        <none>    Active

This will triger kubestack to call neutron creating a new network. See more at user guide.

f0o commented 7 years ago

Oh I assumed it was the other way around.

Thanks for clarifying!

I guess I'll just write a neutron plugin for kubestack/h8s then to integrate it in our OpenStack environment.

Cheers, f0o

On 1 August 2017 07:28:01 CEST, Pengfei Ni notifications@github.com wrote:

@f0o Kubestack is not a neutron plugin, it doesn't register itself to neutron. And it doesn't watch neutron changes either.

Instead, you need to create a network with kubectl:

# cat network.yaml
apiVersion: v1
kind: Network
metadata:
 name: net1
spec:
 tenantID: 065f210a2ca9442aad898ab129426350
 subnets:
   subnet1:
     cidr: 192.168.0.0/24
     gateway: 192.168.0.1

# kubectl create -f ./network.yaml
network "net1" created
# kubectl get network
NAME      SUBNETS          PROVIDERNETWORKID    LABELS    STATUS
net1      192.168.0.0/24                        <none>    Active

This will triger kubestack to call neutron creating a new network. See more at user guide.

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/hyperhq/hypernetes/issues/173#issuecomment-319271729

-- Sent from my Android device with K-9 Mail. Please excuse my brevity.