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

Update Cilium doc #193

Merged
merged 6 commits into from
Sep 2, 2024
Merged

Update Cilium doc #193

merged 6 commits into from
Sep 2, 2024

Conversation

SkalaNetworks
Copy link
Contributor

I'm not a pro when it comes to interfacing Cilium with Kube-OVN, so please check using https://docs.cilium.io/en/latest/helm-reference/#helm-reference and https://docs.cilium.io/en/stable/installation/cni-chaining-generic-veth/

Basically, the tunnel option has been replaced by routingMode: native
I couldn't find a reference to enableIdentityMark in the new options, is it still useful?

Also, do we still need to change the order of the CNI plugin by changing the priority like in the Kube-OVN doc? The cilium documentation doesn't mention that.

Tagging potentially knowledgable people on that subject: @oilbeater @bobz965

@SkalaNetworks
Copy link
Contributor Author

SkalaNetworks commented Aug 22, 2024

Also their doc inserts a "chaining-mode": "generic-veth" in the cni-configuration passed to cillium, shall we do the same?
Might not be needed, I see cilium status says the chaining is generic-veth

@SkalaNetworks
Copy link
Contributor Author

Also the doc doesn't say it but if you don't restart the pods managed by Kube-OVN, they are not managed by Cilium. Once restarted, Cilium can see them but not before it's done.

I believe cilium only injects the eBPF programs when called by the CRI, so when a container is started/restarted.

@bobz965
Copy link
Contributor

bobz965 commented Aug 23, 2024

@SkalaNetworks about this: Also, do we still need to change the order of the CNI plugin by changing the priority like in the Kube-OVN doc?

Do you mean?
If user use cilium with kube-ovn. should make sure cilium cni config is before or after kube-ovn?

@oilbeater
Copy link
Contributor

@changluyi can you take a look at this Cilium integration?

@SkalaNetworks
Copy link
Contributor Author

@SkalaNetworks about this: Also, do we still need to change the order of the CNI plugin by changing the priority like in the Kube-OVN doc?

Do you mean? If user use cilium with kube-ovn. should make sure cilium cni config is before or after kube-ovn?

Yes, there's a parameter in the Kube-OVN helm chart to change the "priority" (name of the CNI config in /etc/cni) to 10-xxxx instead of 1-xxxx, but Cilium's doc doesn't mention changing that. Would it be a problem?

As I understand it, Cilium needs to be the "real" CNI instantiated first by the CRI on Pod creation. It makes an interface with eBFP hooked to it and forwards the traffic to another interface belonging to the chained CNI (Kube-OVN) which then handles doing the actual CNI job. If the order is solely decided by the name of the files, I guess we need to keep that bit of the doc.

@changluyi
Copy link
Contributor

I'm not a pro when it comes to interfacing Cilium with Kube-OVN, so please check using https://docs.cilium.io/en/latest/helm-reference/#helm-reference and https://docs.cilium.io/en/stable/installation/cni-chaining-generic-veth/

Basically, the tunnel option has been replaced by routingMode: native I couldn't find a reference to enableIdentityMark in the new options, is it still useful?

Also, do we still need to change the order of the CNI plugin by changing the priority like in the Kube-OVN doc? The cilium documentation doesn't mention that.

Tagging potentially knowledgable people on that subject: @oilbeater @bobz965

option enableIdentityMark is still useful in cilium of the latest version.

and we still need to change the order of the CNI plugin by changing the priority,for it will generate 05-cilium.conflist with chainning.yaml like below:
image

and if not change the priority , it will use kube-ovn.conflist, and no cilium ebpf program will be load like this:
image

and it should be like this:

image

@SkalaNetworks
Copy link
Contributor Author

SkalaNetworks commented Aug 28, 2024

Thanks for the clarification. I can't find a reference to enableIdentityMark in the Helm documentation (https://docs.cilium.io/en/latest/helm-reference/#helm-reference), can you point me to it? I don't understand what it does.

@changluyi
Copy link
Contributor

Thanks for the clarification. I can't find a reference to enableIdentityMark in the Helm documentation (https://docs.cilium.io/en/latest/helm-reference/#helm-reference), can you point me to it? I don't understand what it does.

I found it in the cilium source code
image
and I use this command to install successfully

helm install cilium cilium/cilium --version 1.15.1 \
    --namespace kube-system \
    --set cni.chainingMode=generic-veth \
    --set cni.customConf=true \
    --set cni.configMap=cni-configuration \
    --set routingMode=native \
    --set enableIPv4Masquerade=false \
    --set enableIdentityMark=false

Signed-off-by: SkalaNetworks <[email protected]>
@SkalaNetworks
Copy link
Contributor Author

I put the enableIdentityMark option back, the routingMode is still relevant, I think this PR is ready to merge

@oilbeater oilbeater merged commit 3bc5186 into kubeovn:master Sep 2, 2024
2 checks passed
oilbeater pushed a commit that referenced this pull request Sep 2, 2024
* chore(bgp): documentation on new bgp nat gw feature

* fix(doc): linter

* Update with-bgp.en.md

* feat(cilium): update cilium doc

* fix(cilium): enableIdentityMark


Signed-off-by: SkalaNetworks <[email protected]>

---------

Signed-off-by: SkalaNetworks <[email protected]>
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.

4 participants