-
Notifications
You must be signed in to change notification settings - Fork 14
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
Alternative CNI How-to #900
base: main
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, minor nit
Leaving the approval to @nhennigan
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work 😄
Please add to the index file so it appears in the navigation and address the small changes and I think it will be good to go
# How to use an alternative CNI | ||
|
||
While {{product}} ships with a default [Container Network Interface] (CNI) that | ||
we guarantee is compatible with our distribution, you may want to use a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
we guarantee is compatible with our distribution, you may want to use a | |
guarantees compatibility with our distribution, there is an option to use a |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well done @eaudetcobello!
Left you a couple of suggestions.
different CNI plugin for your specific networking requirements. This guide | ||
explains how to safely replace the default CNI with an alternative solution. | ||
|
||
## What you'll need |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
## What you'll need | |
## Prerequisites |
|
||
This guide assumes the following: | ||
|
||
- You have root or sudo access to the machine. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
- You have root or sudo access to the machine. | |
- Root or sudo access to the machine. |
This guide assumes the following: | ||
|
||
- You have root or sudo access to the machine. | ||
- Basic understanding of Kubernetes networking concepts. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's link the networking explanation page.
plugin: | ||
|
||
``` | ||
sudo k8s disable ingress gateway network |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we add a note that the underlying implementation ships all three features and you can't just disable one?
enabled: false | ||
``` | ||
|
||
Then bootstrap the cluster with this configuration: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Then bootstrap the cluster with this configuration: | |
Then, bootstrap the cluster with this configuration: |
EOF | ||
``` | ||
|
||
Once you've created the values file, create the required namespace. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Once you've created the values file, create the required namespace. | |
After saving the values file, create the required namespace: |
|
||
## Verify deployment | ||
|
||
Monitor the pod status: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Monitor the pod status: | |
Monitor the status of the calico pods: |
watch sudo k8s kubectl get pods -n calico-system | ||
``` | ||
|
||
You should see output similar to: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You should see output similar to: | |
If Calico is deployed successfully, the output will be similar to: |
calico-typha-56f55cb75-cj2jk 1/1 Running 0 22h | ||
csi-node-driver-vth9t 2/2 Running 0 22h | ||
``` | ||
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would recommend adding a note that users do not get support for an alternative CNI and the responsibility is entirely on them.
In addition, I would add a note that at any time a switch to the networking solution provided by Canonical can be made by running: sudo k8s enable ingress gateway network
@@ -0,0 +1,107 @@ | |||
# How to use an alternative CNI |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# How to use an alternative CNI | |
# How-to use an alternative CNI |
Do we need a dash?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Two more things :)
|
||
While {{product}} ships with a default [Container Network Interface] (CNI) that | ||
we guarantee is compatible with our distribution, you may want to use a | ||
different CNI plugin for your specific networking requirements. This guide |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Can you include a link to an upstream page that lists supported alternative CNIs?
## Configure Helm repository | ||
|
||
Add the CNI's Helm repository to {{product}}'s Helm installation. This guide | ||
uses Calico as an example: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's add a link to Calico's docs please.
Alternative CNI How-to
This PR adds a how-to page for installing an alternative CNI by the example of Calico.