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

[WIP] first pass at calico/ipv6 kind setup #74

Merged
merged 8 commits into from
Apr 18, 2021
Merged

Conversation

mattfenwick
Copy link
Owner

No description provided.

@mattfenwick
Copy link
Owner Author

This doesn't work: some of the pods come up with ipv4 addresses and crash:

Screen Shot 2021-04-01 at 8 57 15 AM

@lwr20
Copy link

lwr20 commented Apr 14, 2021

I think you're missing a bit of config:
https://docs.projectcalico.org/networking/ipv6#enable-ipv6-only

Edit the CNI config (calico-config ConfigMap in the manifest) to disable IPv4 assignments and enable IPv6 assignments.

    "ipam": {
        "type": "calico-ipam",
        "assign_ipv4": "false",
        "assign_ipv6": "true"
    },

Not sure the best way to edit the configmap. Maybe kustomize (since its built into kubectl)?

#kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

kubectl -n kube-system set env daemonset/calico-node FELIX_XDPENABLED=false
kubectl -n kube-system set env daemonset/calico-node FELIX_IPV6SUPPORT=true
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You could just make this change in calico.yaml now

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 awesome! looks like this is working on my mac now 😄

saving a copy of the calico yaml seems like the easiest approach, is that a horrible idea?

really appreciate the help, 🙇

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

saving a copy of the calico yaml seems like the easiest approach, is that a horrible idea?

It'll work, but it means you'll need to raise a PR every time Calico does a release to get the latest.

I've recently been using kustomize for stuff - it might be more elegant here to:

  • create a dir to hold the yaml and kustomize config - let's call it kustom
  • download calico.yaml into kustom/calico.yaml
  • create a kustom/kustomize.yaml file
  • use kubectl apply -k kustom to modify and apply it in one step

Copy link
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Gotcha, thanks for the suggestion! Opened #109 to track this 😄

@mattfenwick mattfenwick mentioned this pull request Apr 17, 2021
9 tasks
@mattfenwick
Copy link
Owner Author

TCP requests to services on IPV6/KinD clusters seem to be slower than UDP/SCTP requests, and also slower than IPV4 requests -- in the two Linux environments I ran this PR on.

This seems to be general KinD/IPV6 behavior -- unrelated to Calico. Follow up in #108 to figure out why.

In the meantime, this works but is slower! https://github.com/mattfenwick/cyclonus/runs/2371412592?check_suite_focus=true

@mattfenwick mattfenwick merged commit ae8a024 into master Apr 18, 2021
@mattfenwick mattfenwick deleted the calico-ipv6 branch April 18, 2021 00:45
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.

2 participants