-
Notifications
You must be signed in to change notification settings - Fork 368
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
Support Antrea installation using antctl CLI #5896
Comments
We have submitted this issue as a project idea for the LFX mentorship program: cncf/mentoring#1129. So no-one should ideally work on this issue until we know if the proposal is accepted and if we can match a mentee to work on it. |
Hello, I am very interested in this project and would like to participate in this season of LFX. Could you please guide me on how to get started? |
@peaceLT all the information is at the link I provided above: https://docs.linuxfoundation.org/lfx/mentorship While we appreciate the enthusiasm, we'd prefer for such questions to be asked on Slack, so we can keep this issue focused on technical discussions about the proposal. |
Hello @antoninbas, I'm Maya, an Open Source Product Designer, UX Researcher, Design Maintainer and Technical Steering Committee (TSC) at the AsyncAPI Initiatives. I've explored the LFX mentorship guidelines and am genuinely intrigued by this issue. Recently, I enhanced the UI/UX of the AsyncAPI CLI, addressing both design and error message improvements. I'd appreciate joining the Slack channel, but I couldn't locate it. Could you kindly share the link with me? Best, |
@Mayaleeeee Slack info is in the readme |
Seen and joined the channel. |
@antoninbas This is a great opportunity to learn. do we require a proposal to submit ? |
For all the folks who have applied or are considering applying to one of the Antrea projects for the LFX mentorship program, we have published instructions to complete test tasks: #5976. We will review your submissions for these tasks alongside other material (resume, cover letter) when selecting mentees. The deadline for submitting is February 20th 5PM PST. |
Hey where to share the proposal or ideas related to this issue? |
Completed the task for antrea-io#5896 as mentioned here antrea-io#5976. Added all the five .txt files and modified the source code of antrea-agent and antrea-controller. Looking forward to contribute more in antrea.io.
We had a discussion with @kanha-gupta and we believe that at a high level, the task should be decomposed as follows:
|
I would vote for choosing the operator route. |
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment, or this will be closed in 90 days |
This issue is stale because it has been open 90 days with no activity. Remove stale label or comment, or this will be closed in 90 days |
Describe what you are trying to solve
While we were updating the ROADMAP, @tnqn suggested that we could add support for a new installation method for Antrea.
We currently support 2 methods:
antrea/antrea
Helm chart (https://github.com/antrea-io/antrea/blob/main/docs/helm.md)The 1st method is very straightforward and the only prerequisite is
kubectl
. However, any customization has to be done manually (by editing the YAML) and is error-prone. It is fairly common for users to make a typo when editing the antrea config in the YAML for example (invalid indentation, etc.). Some features also require editing both antrea-agent.conf and antrea-controller.conf, and it is easy for users to miss that.The 2nd method requires Helm to be installed, but allows for easy customization. Of course, we are constrained by what Helm can do:
crds/
directory? #3665Describe the solution you have in mind
Several other projects in the cloud-native ecosystem support CLI-based installation (Cilium and Calico come to mind).
Users can easily customize the installation, and developers have the opportunity to execute custom logic before and after the installation, with direct access to the K8s API.
This proposal is to add the
antctl install
command, which would take care of installing an "arbitrary" Antrea version (we should support some version skew between antctl and the Antrea version being installed). Similarly, we would add the "antctl upgrade" command for upgrades.Describe how your solution impacts user flows
Users have access to a new installation method, which should be as convenient as installing the Helm chart, while at the same time providing additional value / features.
Describe the main design/architecture of your solution
This is a possible workflow / implementation for
antctl install [--version x.y.z]
:The CLI command could take care of CNI migration under the hood (https://github.com/antrea-io/antrea/blob/main/docs/migrate-to-antrea.md), if another CNI was detected in step 2.
Note that we use Helm to render the chart template into a K8s manifest, but we create resources through the K8s API. This is the only way to meet our goal of installing / updating components in a specific order.
antctl install
could also take care of (optionally) installing other Antrea components (FlowAggregator, antrea-ui).Implementation for
antctl upgrade
would be similar.Ideally, antctl would also support Windows installation, but that may come later.
Alternative solutions that you considered
An alternative solution could be to make the Antrea operator a "first-class citizen". The operator would take care of the actual lifecycle management of Antrea components & resources. In that case
antctl install
would simply take care of installing the operator by installing its Helm chart. This is a higher-impact change however, compared to the solution described above.The text was updated successfully, but these errors were encountered: