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

Adding chart for the AWS CNI #27

Merged
merged 3 commits into from
Nov 12, 2019
Merged

Adding chart for the AWS CNI #27

merged 3 commits into from
Nov 12, 2019

Conversation

max-rocket-internet
Copy link
Contributor

This is essentially a copy of v1.5.3 release YAML but with the standard Helm labels and options added.

I tested it and it works for me. I did a YAML diff of a pod and the daemonset between what this chart produces and what's in an EKS cluster by default and there's no major differences apart from labels and securityContext.procMount: Default but this isn't in the release YAML so I guess it's not required.

Some notes....

  1. Naming: amazon-vpc-cni-k8s is not a good name for a chart and neither is aws-node so I've chosen aws-vpc-cni and set the default name override options to aws-node so as to be compatible with current EKS design.

  2. Installation: To install it over the top of the existing aws-node resources is super easy. Helm just overwrites them. See the README 😃

  3. Resource labels: These are the default Helm labels for any change but I also added k8s-app: aws-node for backwards compatibility.

Related issues:
aws/amazon-vpc-cni-k8s#336
aws/amazon-vpc-cni-k8s#679

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

@stefanprodan
Copy link
Collaborator

The CI is failing due to the fact that Helm v3 wants the CRDs in a /crds dir next to templates. Moving them out of templates means that Helm v2 will not be able to install them. We need to have the CRDs creating under a flag and change the CI to apply them from templates only for Helm v2. I'll take care of the CI part.

Copy link
Collaborator

@stefanprodan stefanprodan left a comment

Choose a reason for hiding this comment

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

LGTM

Let's merge this even if Helm v3 tests are failing, I'll find a solution to make the chart compatible with both v2 and v3.

Copy link
Contributor

@mogren mogren left a comment

Choose a reason for hiding this comment

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

Thanks @max-rocket-internet! I'll create an issue in this repo to update when the next stable CNI release is out.

@max-rocket-internet
Copy link
Contributor Author

Let's merge this even if Helm v3 tests are failing, I'll find a solution to make the chart compatible with both v2 and v3.

Helm 3 does not even have a stable release yet. Sounds good.

- name: Nicholas Turner
url: https://github.com/nckturner
email: nckturner@users.noreply.github.com
- name: Stefan Prodan
Copy link
Contributor

Choose a reason for hiding this comment

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

Can you swap Stefan with Claes Mogren?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Sure!

helm repo add eks https://aws.github.io/eks-charts
```

To install the chart with the release name `aws-node` and default configuration:
Copy link
Contributor

Choose a reason for hiding this comment

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

Should we use aws-vpc-cni as the chart name/install name as well? As long as the daemonset is called aws-node everything should be ok... @mogren thoughts?

Copy link
Contributor

Choose a reason for hiding this comment

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

I agree that aws-vpc-cni is a better name, but I think people are too used to aws-node by now. Would it be confusing if the daemonset has a different name?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is just the release name. I chose aws-node as an example in the README but it can be anything and with the default configuration the resources will be named aws-node* regardless due to fullnameOverride and nameOverride in values.yaml.

It's unconventional to set fullnameOverride and nameOverride by default but I think it makes sense given the current situation.

Other option is we rename the whole chart to aws-node and leave the name override options blank as is convention. But aws-node is a not a great name...

Up to you how you want it 🙂

Copy link
Contributor

Choose a reason for hiding this comment

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

Let's call the chart aws-vpc-cni please. As @nckturner mentioned, as long as the Daemonset remains aws-node, we're good.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Copy link
Contributor

Choose a reason for hiding this comment

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

Sorry, I meant the release name, not the chart name.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

OK cool. Done! To be clear, this is cosmetic though. Users can choose their own name for the release.

Copy link
Contributor

@jaypipes jaypipes left a comment

Choose a reason for hiding this comment

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

Agree with Nick that the chart name should be aws-vpc-cni

helm repo add eks https://aws.github.io/eks-charts
```

To install the chart with the release name `aws-node` and default configuration:
Copy link
Contributor

Choose a reason for hiding this comment

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

Let's call the chart aws-vpc-cni please. As @nckturner mentioned, as long as the Daemonset remains aws-node, we're good.

@max-rocket-internet
Copy link
Contributor Author

Can we merge this now?

@jaypipes
Copy link
Contributor

@max-rocket-internet the helm3 issue (#32) merged. I'm good merging this now.

@jaypipes jaypipes merged commit 5feeccc into aws:master Nov 12, 2019
@max-rocket-internet max-rocket-internet deleted the aws_vpc_cni branch November 13, 2019 09:10
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.

5 participants