i want to deploy Jenkins on EKS cluster and any one can access Jenkins url
i tried this and i change type: NodePort in service.yaml to LoadBalancer
but DNS didn't work
Your worker nodes will have to have a public IP, which is a big security risk.
Better to create a Kubernetes service of type LoadBalancer which in your case will expose the Jenkins service in AWS.
I am running an EKS cluster defined with terraform.
This cluster uses traefik loadbalancer behind a classic EC2 loadbalancer.
EC2 instances are added or removed in cluster depending on load thanks to "cluster-autoscaler" Helm chart.
Each time a new EC2 instance is launched, it is added in VPC, in EKS cluster and usually linked to EC2 loadbalancer.
After EKS upgrade from 1.23 to 1.24, new EC2 instances are added in VPC and EKS cluster, but not added to EC2 loadbalancer (I am able to add them manually in AWS console).
I have tried to update "cluster-autoscaler" Helm chart to last version (9.21.1 as described in https://github.com/kubernetes/autoscaler/releases) without any success and noticed it was still using 1.23 App version (=k8s.gcr.io/autoscaling/cluster-autoscaler:v1.23.0)
Setting image tag to v1.24.0 has not solved the problem.
Thanks for your help
We are designing a new cluster for our application. We are required to use AWS EKS and Consul. We have the following questions:
1) Is it possible to set an AWS ALB ingress (Application load balancing on Amazon EKS - Amazon EKS) as downstream from consul so I can manage it in the rules?
In our local tests we used an nginx ingress and it worked perfectly, but in EKS, nginx ingress uses classic load balancers and these will be deprecated on August 15, 2022 (Elastic Load Balancing migrate-classic-load-balancer.html).
Obviously we can’t create a new project with something that is going to be deprecated so soon.
2) Is ingress-gateway a replacement? Is it possible to create ingress-gateway using ALB ingress-controller from EKS? In the same case, ingress-gateway uses in AWS Classic load balancer and we have the same problem when deprecation.
3) Following this guide: Deploy Consul on Amazon Elastic Kubernetes Service (EKS) | Consul - HashiCorp Learn I see that no type of ingress controller is taken into account, so does it make sense to control external access to services from Consul? Or would income control suffice?
Thank you very much!
Any advice or documentation will be appreciated.
Cheers!
I have a situation where i'm deploying a k8s service of type LoadBalancer in one EKS cluster which is creating a Layer 4 ELB in AWS. This ELB can discover k8s pods in the same EKS cluster (based on label-selector) . What do I need to do so that same ELB (layer 4) can discover pods running in another EKS cluster ?
My primary use case is based around supporting cross cluster injection using mutating admission controller.
I have a mutating admission controller that injects a side car container in a pod. A webhook server (pod) is responsible for the actual injection (which I want to load balance across EKS clusters). I am trying to see if I can avoid deploying the webhook server in every EKS cluster which will help me in 2 ways :
1) Reduced monitoring / operational aspect
2) Since kube-api server is responsible for calling the webhook-server in an EKS cluster, if for whatever reason the webhook-server in that EKS cluster is unavailable , injection should still happen since we would have a webhook server running in another EKS cluster.
I've read that AWS does not support Kubernetes and builds their own Docker orchestration engine EC2 Container Service. However, on Kubernetes getting-started -page there is a guide on how to run Kubernetes on AWS:
https://github.com/GoogleCloudPlatform/kubernetes/blob/master/docs/getting-started-guides/aws.md
Which is right?
You can install Kubernetes on a normal Amazon EC2 server.
The new container service is a separate offering by Amazon, called ECS.
EDIT: AWS released in 2018 a new container service for Kubernetes called EKS: https://aws.amazon.com/eks/
Amazon Elastic Container Service for Kubernetes (Amazon EKS) makes it easy to deploy, manage, and scale containerized applications using Kubernetes on AWS. Amazon EKS runs the Kubernetes management infrastructure for you across multiple AWS availability zones to eliminate a single point of failure.
Kubernetes provides scripts to simple setup a cluster on a set of EC2 machines. The setup does pretty much everything needed to get started quickly.
Here is the link: https://github.com/GoogleCloudPlatform/kubernetes/blob/release-1.0/docs/getting-started-guides/aws.md
Yes its possible to setup Kubernetes on AWS See:http://kubernetes.io/v1.0/docs/getting-started-guides/aws.html
You can also manually setup Kubernetes on AWS by launching a EC2 instance
Foe setting in Redhat ami https://access.redhat.com/articles/1353773
(Note: Kubernetes needs flannel network to be setup for managing networking between docker containers running on different hosts(minions)
Amazons Container Service is unrelated to Kubernetes.
There are 3 main options for installing Kubernetes on AWS:
CoreOS have a cli for installing and managing kubernetes on aws: https://coreos.com/kubernetes/docs/latest/kubernetes-on-aws.html
Kubernetes have some scripts for setting up a cluster on AWS: http://kubernetes.io/docs/getting-started-guides/aws/
Manual installation on EC2. Lots of options here: http://kubernetes.io/docs/getting-started-guides/#cloud
As an aside minikube is now a thing which is nice for running locally to try stuff out:
http://kubernetes.io/docs/getting-started-guides/minikube/
AWS recently launched EKS, which provides a managed k8s master nodes. This should be
what you are looking for.
Yes. You can use kubeadm to install kubernetes on EC2 instances.
There are other tools also available.
KOPS
EKS
Kubeadm