Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Opencontrail Initial Mods #130

Closed
wants to merge 2 commits into from
Closed

Opencontrail Initial Mods #130

wants to merge 2 commits into from

Conversation

galthaus
Copy link
Contributor

@galthaus galthaus commented Feb 4, 2016

  • opencontrail replaces kube-proxy (so turn it off)
  • opencontrail needs a plug-in

This still needs some changes. The problem is that the opencontrail ansible playbook isn't necessarily completely modularized.

It is here: https://github.com/Juniper/container-networking-ansible

The way I currently use it is to:

  1. clone setup-kubernetes
  2. clone container-networking-ansible
  3. copy the roles from container-networking-ansible into setup-kubernetes roles
  4. copy the playbook file from container-networking-ansible/playbooks into setup-kubernetes
  5. build an inventory file like normal but add masters (kube-master) nodes (kube-nodes) gateways and opencontrail which is all three groups.
  6. Set up the opencontrail vars

This is rough and still needs help.

@ant31
Copy link
Contributor

ant31 commented Feb 8, 2016

Great work, going to look at it

@Smana will integrate this commits as he refactored the network plugin

@galthaus
Copy link
Contributor Author

I'm updating it with regard to the new plugin pieces. These are required, but outside of the network plugin path.

@galthaus
Copy link
Contributor Author

Do not pull this yet. I'm still working on it to see if it can be made cleaner (not the code that is currently here, but the other parts needed for this).

@galthaus
Copy link
Contributor Author

With this now in place, you can try to run open contrail like this:

  1. clone setup-kubernetes
  2. clone container-networking-ansible
  3. copy the roles from container-networking-ansible into setup-kubernetes/roles/network_plugin
  4. copy the roles from container-networking-ansible into setup-kubernetes/roles/network_plugin_provision
  5. cope the files from container-networking-ansible into setup-kubernetes
  6. build an inventory file like normal but add four groups:
    1. masters (kube-master)
    2. nodes (kube-nodes)
    3. gateways
    4. opencontrail which is all three groups.
  7. Set up the open contrail vars in inventory/group_vars/all.yml

@galthaus
Copy link
Contributor Author

Well - that isn't working well either. Still need custom cluster file. Networking needs to be setup before kubernetes node install and only on some nodes and not others.

@galthaus
Copy link
Contributor Author

Back to this:
opencontrail replaces kube-proxy (so turn it off)
opencontrail needs a plug-in
This still needs some changes. The problem is that the opencontrail ansible playbook isn't necessarily completely modularized.

It is here: https://github.com/Juniper/container-networking-ansible

The way I currently use it is to:

  1. clone setup-kubernetes
  2. clone container-networking-ansible
  3. copy the roles from container-networking-ansible into setup-kubernetes roles
  4. copy the playbook file from container-networking-ansible/playbooks into setup-kubernetes
  5. build an inventory file like normal but add masters (kube-master) nodes (kube-nodes) gateways and opencontrail which is all three groups.
  6. Set up the opencontrail vars

@ant31
Copy link
Contributor

ant31 commented Feb 13, 2016

do you want to keep container-networking-ansible separated ?

  - opencontrail replaces kube-proxy (so turn it off)
  - opencontrail needs a plug-in
  - Allow kubelet to run every but only register from nodes (helps opencontrail gateways)

Add a playbook file that runs opencontrail.
@galthaus
Copy link
Contributor Author

@ant31: It is Juniper's playbook that is used for kubernetes and openshift. It works with both the kubernetes/contrib playbook and this one. I haven't worked to make it a standalone role(s) that could be pulled by galaxy. I may at some point.

@ant31
Copy link
Contributor

ant31 commented Feb 18, 2016

suggestions:

  1. clone container-networking-ansible
  2. copy the roles from container-networking-ansible into setup-kubernetes/roles/network_plugin
  3. copy the roles from container-networking-ansible into setup-kubernetes/roles/network_plugin_provision

This can be done automaticaly with local_action tasks, maybe in network_plugin/opencontrail/preinstall ?

  1. cope the files from container-networking-ansible into setup-kubernetes

We can add a cluster-opencontrail.yml playbook in this repo.

  1. build an inventory file like normal but add four groups:
    1. masters (kube-master)
    2. nodes (kube-nodes)
    3. gateways
    4. opencontrail which is all three groups.
      rename gateways -> opencontrail-gateways

We can also add inventory-opencontrail.cfg as an example inventory

  1. Set up the opencontrail vars in inventory/group_vars/all.yml

I propose to use inventory/group_vars/opencontrail.yml and opencontrail-gateway.yml if needed and again add in this repo.

@galthaus
Copy link
Contributor Author

Interesting. Might be do able. I've been also talking with Juniper about
making it ansible-galaxy ready as an alternative.

On Thu, Feb 18, 2016 at 1:30 PM, Antoine Legrand notifications@github.com
wrote:

suggestions:

  1. clone container-networking-ansible
  2. copy the roles from container-networking-ansible into
    setup-kubernetes/roles/network_plugin
  3. copy the roles from container-networking-ansible into
    setup-kubernetes/roles/network_plugin_provision

This can be done automaticaly with local_action tasks, maybe in
network_plugin/opencontrail/preinstall ?

  1. cope the files from container-networking-ansible into
    setup-kubernetes

We can add a cluster-opencontrail.yml playbook in this repo.

  1. build an inventory file like normal but add four groups:
    1. masters (kube-master)
    2. nodes (kube-nodes)
    3. gateways
    4. opencontrail which is all three groups. rename gateways ->
      opencontrail-gateways

We can also add inventory-opencontrail.cfg as an example inventory

  1. Set up the opencontrail vars in inventory/group_vars/all.yml

I propose to use inventory/group_vars/opencontrail.yml and
opencontrail-gateway.yml if needed and again add in this repo.


Reply to this email directly or view it on GitHub
#130 (comment)
.

@Smana
Copy link
Contributor

Smana commented Mar 11, 2016

Hi Greg, did you have the time to work on this opencontrail support ?
Let me know if i can help you in anyways.

@Smana
Copy link
Contributor

Smana commented Apr 8, 2016

Hi @galthaus, what about this PR ?

@galthaus
Copy link
Contributor Author

galthaus commented Apr 8, 2016

@zehicle is working on this now as well. I've been focused on some other things. I like the suggestions, but will require reworking our deployment methods and updating the PR.

@Smana
Copy link
Contributor

Smana commented Apr 8, 2016

Ok @galthaus thank you, i close this one then

@Smana Smana closed this Apr 8, 2016
angao added a commit to angao/kubespray that referenced this pull request Jan 21, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants