I am considering to use AWS EKS to deploy kubernete cluster but I wonder whether it supports bring other nodes in the cluster? Other nodes may come from GCP, on-prem infra. etc.
Related
I have a few questions on EKS node groups.
I dont understand the concept of Node group and why is it required. Can't we create an EC2 and run kubeadm join for joining EC2 node to EKS Cluster. What advantage does node group hold.
Does node groups (be it managed or self-managed) have to exist in same VPC of EKS cluster. Is it not possible to create node group in another VPC. If so how?
managed node groups is a way to let AWS manage part of the lifecycle of the Kubernetes nodes. For sure you are allowed to continue to configure self managed nodes if you need/want to. To be fair you can also spin up a few EC2 instances and configure your own K8s control plane. It boils down to how much you wanted managed Vs how much you want to do yourself. The other extreme on this spectrum would be to use Fargate which is a fully managed experience (where there are no nodes to scale, configure, no AMIs etc).
the EKS cluster (control plane) lives in a separate AWS managed account/VPC. See here. When you deploy a cluster EKS will ask you which subnets (and which VPC) you want the EKS cluster to manifest itself (through ENIs that get plugged into your VPC/subnets). That VPC is where your self managed workers, your managed node groups and your Fargate profiles need to be plugged into. You can't use another VPC to add capacity to the cluster.
I am new to Kubernetes and have a requirement in which have to setup an ETCD cluster behind an ELB. Our K8s cluster will be hosted using Rancher. Can anyone please share the steps or link for the same.
There are 2 options:
1: If you will import cluster into rancher, then #suren is right. You basically need to create Kubernetes cluster that comforms all of your needs then import that into Rancher.
2: If you plan to launch clusters using Rancher, then you need to create NodeTemplate that uses AWS EC2 for etcd nodes. Then you can launch cluster by ticking master, etcd and worker nodes separately and reference your etcd NodeTemplate in etcd node group.
I am looking into the Cluster level scalability of Kubernetes using the Cluster AutoScaler. These articles (1, 2) talk about the possibility of bursting from on-premise to cloud using the cluster autoscaler, but i am not able to see any instructions on how to achieve this.
Also this talks about having the entire K8S cluster on EC2s and achieve auto-scaling using the cluster autoscaler.
I also understand that cluster autoscaler does not come with Kubernetes and needs to be installed separately.
So these are my questions,
Is it possible to scale (scale up and down of nodes) from on-premise to AWS cloud using cluster autoscaler or by other means?
If the above is possible, any reference links would be of great help.
We got multiple k8s clusters on AWS (using EKS) each on its own VPC but they are VPC peered properly to communication to one central cluster which has an elasticsearch service that will collect logs from all clusters. We do not use AWS elasticsearch service but rather our own inside kubernetes.
We do use an ingress controller on each cluster and they have their own internal AWS load balancer.
I'm getting fluentd pods on each node of every cluster (through a daemonset) but it needs to be able to communicate to elasticsearch on the main cluster. Within the same cluster I can ship logs fine to elasticsearch but not from other clusters as they need to be able to access the service within that cluster.
What is some way or best way to achieve that?
This has been all breaking new ground for me so I wanted to make sure I'm not missing something obvious somewhere.
I am new to AWS EKS - I have an application for which I need one worker node (a pod) of the Kubernetes to run on my on-premise infrastructure. Is that possible and if yes then how can I achieve that ?
In theory you can run EKS and on-prem kubernetes clusters at the same time, but managing them via a single federation control plane. But I've never tried to use it with EKS, although EKS is mostly vanilla kubernetes, so it should work.