Code Monkey home page Code Monkey logo

eks-charts's Introduction

EKS Charts

EKS Charts

Add the EKS repository to Helm:

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

App Mesh

AWS Node Termination Handler

AWS Calico

This Helm chart is deprecated. To install Calico network policy enforcement on AWS, follow the EKS user guide.

AWS CloudWatch Metrics

AWS for Fluent Bit

AWS Load Balancer Controller

AWS VPC CNI

AWS SIGv4 Proxy Admission Controller

AWS Secrets Manager and Config Provider for Secret Store CSI Driver

This Helm chart is deprecated, please switch to https://aws.github.io/secrets-store-csi-driver-provider-aws/ which is reviewed, owned and maintained by AWS.

Amazon EC2 Metadata Mock

CNI Metrics Helper

EKS EFA Plugin

License

This project is licensed under the Apache-2.0 License.

eks-charts's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

eks-charts's Issues

Issue with Enable X-Ray tracing for the App Mesh data plane section in manual

Hi, there seems to be issue with step to Enable X-Ray tracing for the App Mesh data plane.

When you run this command, it actually takes default mesh name value "global" from Values.yaml and overwrites mesh name that you set during admission controller deployment. This basically breaks up mesh connectivity and is kind of unexpected, because you think you are just enabling
additional component and not touching mesh name at this point.

helm upgrade -i appmesh-inject eks/appmesh-inject \
--namespace appmesh-system \
--set tracing.enabled=true \
--set tracing.provider=x-ray

Workaround as of now is to run command like below, but it would be great if you can update README to specify this. I've spent considerable amount of time troubleshooting this.

helm upgrade -i appmesh-inject eks/appmesh-inject \
--namespace appmesh-system \
--set tracing.enabled=true \
--set tracing.provider=x-ray \
--set mesh.name=<your_mesh_name>

Handle helm upgrade of AWS VPC CNI more gracefully

According the documentation in aws-VPC-CNI helm chart,
โ€œ If you receive an error similar to Error: release aws-vpc-cni failed: "aws-node" already exists, simply rerun the above command.โ€

This causes issues with automation. This should be handled automatically in the helm chart and not require a rerun of the command by user.

AWS Calico Chart - no PDB for typha-autoscaler, prevents cluster-autoscaler scale-down

The Calico chart lacks a PDB for the typha-autoscaler deployment, which of course makes the cluster autoscaler unhappy :-(

cluster-autoscaler-aws-cluster-autoscaler-fb47d97f5-zsg8p aws-cluster-autoscaler I0527 06:49:06.265085       1 cluster.go:107] Fast evaluation: node ip-10-2-142-113.eu-north-1.compute.internal cannot be removed: non-daemonset, non-mirrored, non-pdb-assigned kube-system pod present: calico-typha-horizontal-autoscaler-5bf589dd7d-sl4nm

AWS Calico Chart - seems missing permission for typha-cpha

typha autoscaler logs:
E0416 03:30:41.156961 1 reflector.go:283] github.com/kubernetes-incubator/cluster-proportional-autoscaler/pkg/autoscaler/k8sclient/k8sclient.go:96: Failed to watch *v1.Node: unknown (get nodes) โ”‚
โ”‚ E0416 03:30:42.163238 1 reflector.go:283] github.com/kubernetes-incubator/cluster-proportional-autoscaler/pkg/autoscaler/k8sclient/k8sclient.go:96: Failed to watch *v1.Node: unknown (get nodes) โ”‚
โ”‚ E0416 03:30:43.170184 1 reflector.go:283] github.com/kubernetes-incubator/cluster-proportional-autoscaler/pkg/autoscaler/k8sclient/k8sclient.go:96: Failed to watch *v1.Node: unknown (get nodes) โ”‚
โ”‚ I0416 03:30:44.157683 1 k8sclient.go:221] Falling back to extensions/v1beta1, error using apps/v1: deployments.apps "calico-typha" is forbidden: User "system:serviceaccount:kube-system:calico-ty โ”‚
โ”‚ pha-cpha" cannot get resource "deployments/scale" in API group "apps" in the namespace "kube-system" โ”‚
โ”‚ E0416 03:30:44.463196 1 reflector.go:283] github.com/kubernetes-incubator/cluster-proportional-autoscaler/pkg/autoscaler/k8sclient/k8sclient.go:96: Failed to watch *v1.Node: unknown (get nodes) โ”‚
โ”‚ E0416 03:30:45.563406 1 reflector.go:283] github.com/kube

it looks like there is missing permission in typha-cpha Rola and ClusterRole:

--- a/stable/aws-calico/templates/rbac.yaml
+++ b/stable/aws-calico/templates/rbac.yaml
ClusterRole:
resources: ["nodes"]
old verbs: ["list"]
new verbs: ["watch", "list"]


Role:
old - apiGroups: ["extensions"]
new - apiGroups: ["extensions", "apps"]
resources: ["deployments/scale"]
verbs: ["get", "update"]

App Mesh Grafana

Create a Grafana chart with an App Mesh overview dashboard based on Prometheus metrics.

App Mesh Prometheus

Create a Prometheus chart configured to scrape and store App Mesh control pane and data plane metrics. The mesh metrics should be compatible with Flagger's builtin checks (request success rate and request duration).

ensure changed charts have updated chart version before release

The release (to Helm repo) process for the eks-charts source repository is automated in a CircleCI job:

- run:
name: Publish stable charts
command: |
if echo "${CIRCLE_TAG}" | grep -Eq "^v[0-9]+(\.[0-9]+)*(-[a-z0-9]+)?$"; then
REPOSITORY="https://eks-bot:${GITHUB_TOKEN}@github.com/aws/eks-charts.git"
git config user.email [email protected]
git config user.name eks-bot
git remote set-url origin ${REPOSITORY}
git checkout gh-pages
mv -f $HOME/stable/*.tgz .
helm repo index . --url https://aws.github.io/eks-charts
git add .
git commit -m "Publish stable charts ${CIRCLE_TAG}"
git push origin gh-pages
echo "Publish charts"
else
echo "Not a release! Skip charts publish"
fi

However, we do not currently ensure that when a Chart is updated in a Git commit since the last git tag on the source repository (i.e. the last release) that the Chart's version field is also updated.

We should ensure the Chart.version has changed for all charts that have been modified, otherwise we will have the same published Helm Chart version point to different configurations.

App Mesh charts

Add the App Mesh controller and injector Helm charts:

  • App Mesh Controller
  • App Mesh Injector

Missing parameter for use of STS Regional endpoints

Hello,

Using VPC endpoints creates DNS records for the services that include regional names. In order to use the STS regional endpoint it's required to pass en environment variable to the Go SDK (AWS_STS_REGIONAL_ENDPOINTS).

Helm chart should include this option as an override for the default variable value.

The latest version of docker image is not used in CI

Description

[aws-calico] crds/kustomization.yaml adding it to helmignore

error msg:
failed to upgrade chart for release [calico]: failed to install CRD crds/kustomization.yaml: unable to recognize "": no matches for kind "Kustomization" in version "kustomize.config.k8s.io/v1beta1"

fluxcd helm-operator can't process the kustomization.yaml file. After adding skipCRDs in helm-operator seems to process ok.
Looking at this commit can aws calico do same?

[aws-node-termination-handler] Add 0.3.0 Chart to Repository Index

Hey,

right now the latest chart version in your repo for the "aws-node-termination-handler" is 0.2.0. The master branch is on version 0.3.0 but this version is nowhere to be found.

The 0.2.0 version does not align with your chart description on master, because in the 0.2.0 chart you use .Values.namespace to set the namespace for the subject in the clusterrolebinding. In the 0.3.0 values description this is not mentioned and the 0.3.0 chart uses (rightfully so) the .Release.Namespace value.

Why not a kube-proxy chart?

EKS is one of the few managed Kubernetes platforms that doesn't provide kube-proxy as a part of the control plane upgrade, as we still have to manage/upgrade kube-proxy during EKS upgrades.

I was surprised to find 0 public helm charts for kube-proxy, and I think it's because it's pretty specific to EKS.

In the meantime I'll create my own. If you think it's a good idea, I'll PR it up to this repo, but was more curious as to why no-one else has one.

Repo is not up to date

For example, the CNI chart is not there:

$ helm repo add eks https://aws.github.io/eks-charts
"eks" has been added to your repositories

$ helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "eks" chart repository
...Successfully got an update from the "anchore" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete.

$ helm search eks
NAME                  	CHART VERSION	APP VERSION	DESCRIPTION
eks/appmesh-controller	0.3.0        	0.2.0      	App Mesh controller Helm chart for Kubernetes
eks/appmesh-inject    	0.4.0        	0.2.0      	App Mesh Inject Helm chart for Kubernetes
eks/appmesh-jaeger    	0.2.0        	1.14.0     	App Mesh Jaeger Helm chart for Kubernetes
eks/appmesh-prometheus	0.3.0        	2.13.1     	App Mesh Prometheus Helm chart for Kubernetes

Is this automated?

AWS Calico DaemonSet trying to schedule pods on Fargate nodes

I'm using the AWS Calico Helm chart on an EKS cluster that uses normal EC2 nodes and Fargate. I know that Calico is not supported on Fargate, but I would still like it to run on the EC2 nodes.

The Calico DaemonSet, however, is configured in such a way that it attempts to schedule Calico pods on the Fargate "nodes", which fails:

      tolerations:
        # Make sure calico/node gets scheduled on all nodes.
        - effect: NoSchedule
          operator: Exists

0/7 nodes are available: 1 Insufficient pods, 6 node(s) didn't match node selector.

I believe this could be solved using node affinity.

aws-node-termination-handler: publish version 0.8.0 of the Helm chart

Hello! ๐Ÿ‘‹

I see version 0.8.0 of the aws-node-termination-handler has been pushed to this repository, but the Helm repository only offers 0.7.5 as the latest version:

NAME  	URL
stable	https://kubernetes-charts.storage.googleapis.com
eks   	https://aws.github.io/eks-charts
[16:26:56]~ ฮป helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "eks" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. โŽˆ Happy Helming!โŽˆ
[16:27:02]~ ฮป helm search repo aws-node-termination-handler
NAME                            	CHART VERSION	APP VERSION	DESCRIPTION
eks/aws-node-termination-handler	0.7.5        	1.4.0      	A Helm chart for the AWS Node Termination Handler

Could the chart repository be updated please?

cc @bwagner5 as you wrote the relevant commit :)

Thank you!

appmesh-inject - Egress Filter Configuration

Issue
Currently is not possible to change the Egress Filter on the mesh created by the injector.
Tried to change it manually after the helm deployment, but it gets overwritten after a couple of seconds.

#112

Add the eks charts to hub.helm.sh

Charts should have the following metadata:

home
sources
maintainers
icon
keywords

All charts must contain a readme file with a table that lists all configurable parameters.

Json Syntax Error on Appmesh Grafana Dashboard Canary Releases

Within the appmesh-grafana charts dashboards there is one called canary-releases.json with some json errors. These are simple syntax issues.

On line 1179 there is an extra style key:

  "style": "light",
  "style": "light",

On line 1182 there is a missing comma:

  "tags": [
    "flagger"
  ]
  "templating": { 

Calico Helm chart doesn't support nodeAffinity or nodeSelector configuration

Currently calico helm chart do not allow for nodeSelector or nodeAffinity manipulation. Tolerations are only available in one of deployments are are hardcoded same way as 2 previous attributes.

Above makes impossible to choose nodes in cluster on which calico is installed.

Deployment.yaml file needs to be updated to allow using custom values in nodeSelector, nodeAffinity, tollerations:

    spec:
      priorityClassName: system-cluster-critical
      nodeSelector:
        beta.kubernetes.io/os: linux
      tolerations:
        # Mark the pod as a critical add-on for rescheduling.
        - key: CriticalAddonsOnly
          operator: Exists

App Mesh Gateway

Create a chart for the App Mesh Gateway allowing users to configure NLB/ELB, auto scaling, taints and affinity. The appmesh-gateway chart should be added to the eksctl App Mesh profile.

Error while providing custom podAnnotations for eks/appmesh-controller

We would like to provide some custom annotations but it fails while installing

Error: YAML parse error on appmesh-controller/templates/deployment.yaml: error converting YAML to JSON: yaml: line 24: did not find expected key
helm.go:84: [debug] error converting YAML to JSON: yaml: line 24: did not find expected key

I've tried to run the template to see more details and it seems to have a indentation problem

# values-for-appmesh-controller.yaml
podAnnotations:
  custom: test

helm template -f ./values-for-appmesh-controller.yaml  eks/appmesh-controller --debug

...
      annotations:
        prometheus.io/scrape: "true"
          custom: "test"
...
correct would be:
      annotations:
        prometheus.io/scrape: "true"
        custom: "test"

[Bug] appmesh-manager: missing list node permissions

The latest appmesh-manager reads region and availability zone metadata [1] from k8s nodes and adds it as instance attributes in AWS CloudMap. The existing appmesh-manager RBAC does not setup the permission to list nodes

Failed to list *v1.Node: nodes is forbidden: User "system:serviceaccount:appmesh-system:appmesh-manager" cannot list resource "nodes" in API group "" at the cluster scope

RBAC for appmesh-manager should be updated to handle this

[1] aws/aws-app-mesh-controller-for-k8s#241

Add preview configuration to appmesh-manager

Add a values.yaml entry for preview option and modify the deployment template to conditionally pass the --preview argument. This will be useful to enable appmesh preview channel without having to add individual pod annotation.

Kube proxy helm chart

Currently, On the creation of an EKS cluster, Workload like AWS CNI, Kube proxy are created automatically (I wish they were not so we can manage them in helm).

Would you be against adding a chart for Kube proxy here?
Usecase here is we want to be able to enable metric endpoints without manual intervention.

aws/containers-roadmap#657

aws-calico: Add cpu/memory limits

It would be good to have the ability to specify cpu/memory requests/limits via values file. I'd be happy to provide PR if issue is accepted.

[aws-vpc-cni] Upgrade from 1.0.2 to 1.0.3 failed

While upgrading from the version 1.0.2 to version 1.0.3, the aws-node pods of the daemonset enter in CrashLoopBackoff

  Normal   Pulling    2m15s (x2 over 3m42s)  kubelet, ec2.internal  Pulling image "602401143452.dkr.ecr.us-west-1.amazonaws.com/amazon-k8s-cni:v1.5.5"
  Normal   Pulled     2m15s (x2 over 3m41s)  kubelet, ec2.internal  Successfully pulled image "602401143452.dkr.ecr.us-west-1.amazonaws.com/amazon-k8s-cni:v1.5.5"
  Normal   Created    2m15s (x2 over 3m41s)  kubelet, ec2.internal  Created container aws-node
  Normal   Started    2m15s (x2 over 3m41s)  kubelet, ec2.internal  Started container aws-node
  Warning  Unhealthy  76s (x6 over 3m6s)     kubelet, ec2.internal  Liveness probe failed: OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"/app/grpc-health-probe\": stat /app/grpc-health-probe: no such file or directory": unknown
  Normal   Killing    76s (x2 over 2m46s)    kubelet, ec2.internal  Container aws-node failed liveness probe, will be restarted

It don't know if its related, but it seems that in the Daemonset the image tag wasn't changed to 1.6.0.

        containers:
          - name: aws-node
            image: "602401143452.dkr.ecr.us-west-1.amazonaws.com/amazon-k8s-cni:v1.5.5"

Even when helm ls shows that version 1.6.0 of the application is installed:

NAME       	REVISION	UPDATED                 	STATUS         	CHART            	APP VERSION	NAMESPACE  
aws-vpc-cni	1       	Wed Mar 25 11:38:33 2020	PENDING_INSTALL	aws-vpc-cni-1.0.3	v1.6.0     	kube-system

prometheus: Unable to create mmap-ed active query log

hello,
I'm experiencing this issue while trying to run eks/appmesh-prometheus

prometheus/prometheus#5976

% kubectl logs appmesh-prometheus-5f9b989c88-gz5mr -n appmesh-system
level=warn ts=2019-10-23T07:02:45.771Z caller=main.go:282 deprecation_notice="'storage.tsdb.retention' flag is deprecated use 'storage.tsdb.retention.time' instead."
level=info ts=2019-10-23T07:02:45.771Z caller=main.go:329 msg="Starting Prometheus" version="(version=2.12.0, branch=HEAD, revision=43acd0e2e93f9f70c49b2267efa0124f1e759e86)"
level=info ts=2019-10-23T07:02:45.771Z caller=main.go:330 build_context="(go=go1.12.8, user=root@7a9dbdbe0cc7, date=20190818-13:53:16)"
level=info ts=2019-10-23T07:02:45.771Z caller=main.go:331 host_details="(Linux 4.14.146-119.123.amzn2.x86_64 #1 SMP Mon Sep 23 16:58:43 UTC 2019 x86_64 appmesh-prometheus-5f9b989c88-gz5mr (none))"
level=info ts=2019-10-23T07:02:45.771Z caller=main.go:332 fd_limits="(soft=65536, hard=65536)"
level=info ts=2019-10-23T07:02:45.771Z caller=main.go:333 vm_limits="(soft=unlimited, hard=unlimited)"
level=error ts=2019-10-23T07:02:45.771Z caller=query_logger.go:82 component=activeQueryTracker msg="Error opening query log file" file=data/queries.active err="open data/queries.active: permission denied"
panic: Unable to create mmap-ed active query log

I've installed with:

cat <<EOF | kubectl apply -f -
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: prometheus
  namespace: appmesh-system
  labels:
    app.kubernetes.io/name: appmesh-prometheus
spec:
  storageClassName: gp2
  accessModes:
    - ReadWriteOnce
  resources:
    requests:
      storage: 100Gi
EOF
helm3 upgrade -i appmesh-prometheus eks/appmesh-prometheus \
--namespace appmesh-system \
--set retention=12h \
--set persistentVolumeClaim.claimName=prometheus

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.