-
Notifications
You must be signed in to change notification settings - Fork 999
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
Add App Mesh controller and injector charts #1
Merged
+1,169
−5
Merged
Changes from all commits
Commits
Show all changes
18 commits
Select commit
Hold shift + click to select a range
4417ef4
Init CI for Helm charts
stefanprodan c83344a
Add App Mesh controller chart
stefanprodan 3735441
Add App Mesh CRDs
stefanprodan 43f5010
Add App Mesh controller install command to docs
stefanprodan 36fc916
Add pod security policy to App Mesh controller
stefanprodan 52d562e
Validate all stable charts
stefanprodan a8ab409
Add service account to App Mesh controller
stefanprodan d3edabc
Set App Mesh controller image tag in values
stefanprodan f1cb890
Add App Mesh controller health check
stefanprodan 88a0225
Use exec for liveness and readiness probes
stefanprodan 1d7868d
Init App Mesh inject chart
stefanprodan f1e2632
Generate certs for App Mesh inject webhook
stefanprodan 1b50405
Add optional mesh definition to App Mesh inject
stefanprodan 6e0c63d
Add App Mesh inject install to readme
stefanprodan a70c797
Disable App Mesh inject scraping
stefanprodan 4c34f9f
Set App Mesh inject service type to ClusterIP
stefanprodan 0c437a8
Add Envoy resources requests to App Mesh inject
stefanprodan 83ccd02
Add migration procedure from App Mesh scripts to Helm
stefanprodan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
version: 2.1 | ||
jobs: | ||
build-test-push: | ||
docker: | ||
- image: circleci/golang:1.13 | ||
steps: | ||
- checkout | ||
- run: | ||
name: Install kubectl | ||
command: sudo curl -L https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl -o /usr/local/bin/kubectl && sudo chmod +x /usr/local/bin/kubectl | ||
- run: | ||
name: Install kubeval | ||
command: curl -L https://github.com/instrumenta/kubeval/releases/latest/download/kubeval-linux-amd64.tar.gz | tar xz && sudo mv kubeval /bin/kubeval | ||
- run: | ||
name: Install helm | ||
command: curl -L https://storage.googleapis.com/kubernetes-helm/helm-v2.14.3-linux-amd64.tar.gz | tar xz && sudo mv linux-amd64/helm /bin/helm && sudo rm -rf linux-amd64 | ||
- run: | ||
name: Initialize helm | ||
command: helm init --client-only --kubeconfig=$HOME/.kube/kubeconfig | ||
- run: | ||
name: Lint stable charts | ||
command: | | ||
helm lint ./stable/* | ||
- run: | ||
name: Validate stable charts | ||
command: | | ||
STABLE="$(git rev-parse --show-toplevel)/stable" | ||
cd ${STABLE} | ||
for d in */; do | ||
echo "Validating chart ${d}" | ||
helm template ${STABLE}/${d} | kubeval --strict --ignore-missing-schemas | ||
done | ||
- run: | ||
name: Package stable charts | ||
command: | | ||
mkdir $HOME/stable | ||
helm package ./stable/* --destination $HOME/stable | ||
- run: | ||
name: Publish stable charts | ||
# TODO: push charts to gh-pages branch using the eks-bot account | ||
command: | | ||
if echo "${CIRCLE_TAG}" | grep -Eq "[0-9]+(\.[0-9]+)*(-[a-z]+)?$"; then | ||
echo "Publish charts" | ||
else | ||
echo "Not a release! Skip charts publish" | ||
fi | ||
|
||
workflows: | ||
version: 2 | ||
stable: | ||
jobs: | ||
- build-test-push: | ||
filters: | ||
branches: | ||
ignore: | ||
- gh-pages |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
# Binaries for programs and plugins | ||
*.exe | ||
*.exe~ | ||
*.dll | ||
*.so | ||
*.dylib | ||
|
||
# Test binary, build with `go test -c` | ||
*.test | ||
|
||
# Output of the go coverage tool, specifically when used with LiteIDE | ||
*.out | ||
.DS_Store | ||
|
||
bin/ | ||
_tmp/ | ||
|
||
.idea |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,13 +1,61 @@ | ||
[](https://circleci.com/gh/aws/eks-charts) | ||
|
||
## My Project | ||
## EKS Charts | ||
|
||
TODO: Fill this README out! | ||
Add the EKS repository to Helm: | ||
|
||
Be sure to: | ||
```sh | ||
helm repo add eks https://aws.github.io/eks-charts | ||
``` | ||
|
||
* Change the title in this README | ||
* Edit your repository description on GitHub | ||
### App Mesh | ||
|
||
Create the `appmesh-system` namespace: | ||
|
||
```sh | ||
kubectl create ns appmesh-system | ||
``` | ||
|
||
Apply the App Mesh CRDs: | ||
|
||
```sh | ||
kubectl apply -f https://raw.githubusercontent.com/aws/eks-charts/master/stable/appmesh-controller/crds/crds.yaml | ||
``` | ||
|
||
Install the App Mesh CRD controller: | ||
|
||
```sh | ||
helm upgrade -i appmesh-controller eks/appmesh-controller --namespace appmesh-system | ||
``` | ||
|
||
Install the App Mesh admission controller: | ||
|
||
```sh | ||
helm upgrade -i appmesh-inject eks/appmesh-inject \ | ||
--namespace appmesh-system \ | ||
--set mesh.create=true \ | ||
--set mesh.name=global | ||
``` | ||
Comment on lines
+33
to
+38
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Below this block, maybe we can have a note about upgrading the existing installation before the helm chart existed. There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Done! |
||
|
||
If you've installed the App Mesh controllers with scripts, you can switch to Helm by | ||
removing the controllers with: | ||
```sh | ||
# remove injector objects | ||
kubectl delete ns appmesh-inject | ||
kubectl delete ClusterRoleBinding aws-app-mesh-inject-binding | ||
kubectl delete ClusterRole aws-app-mesh-inject-cr | ||
kubectl delete MutatingWebhookConfiguration aws-app-mesh-inject | ||
|
||
# remove controller objects | ||
kubectl delete ns appmesh-system | ||
kubectl delete ClusterRoleBinding app-mesh-controller-binding | ||
kubectl delete ClusterRole app-mesh-controller | ||
``` | ||
|
||
**Note** that you shouldn't delete the App Mesh CRDs or the App Mesh custom resources | ||
(virtual nodes or services) in your cluster. | ||
Once you've removed the App Mesh controller and injector objects, | ||
you can proceed with the Helm installation as described above. | ||
|
||
## License | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Patterns to ignore when building packages. | ||
# This supports shell glob matching, relative path matching, and | ||
# negation (prefixed with !). Only one pattern per line. | ||
.DS_Store | ||
# Common VCS dirs | ||
.git/ | ||
.gitignore | ||
.bzr/ | ||
.bzrignore | ||
.hg/ | ||
.hgignore | ||
.svn/ | ||
# Common backup files | ||
*.swp | ||
*.bak | ||
*.tmp | ||
*~ | ||
# Various IDEs | ||
.project | ||
.idea/ | ||
*.tmproj |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
apiVersion: v2 | ||
name: appmesh-controller | ||
description: The AWS App Mesh controller Helm chart for Kubernetes | ||
type: application | ||
version: 0.1.0 | ||
appVersion: 0.1.2 |
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
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.
So is namespace expected to always be passed? Can we add a default 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.
The default namespace is
default
same as with kubectl. Helm v3 doesn't support namespace definitions and that's a good thing :) it uses the kubectl context for that.