- Now let's review an introduction
to Amazon ECS for Kubernetes or EKS.
With Amazon ECS for Kubernetes, we gain
a fully managed control plane for Kubernetes
and so AWS will create and manage the master nodes
that make up that control plane for Kubernetes.
And so keep in mind that with Kubernetes, you have all
of the Kubernetes specific software
and you also have etcd.
So the Kubernetes control plane relies on etcd
which is a distributed key value store
and so it's really important to maintain high availability
of that service and durability in the data
because the the values in etcd are back to disk.
And so, while AWS creates and manages those master nodes,
ensuring constant durability and high availability
for the Kubernetes control plane,
the customer, we the customer will manage the worker nodes.
And we will take a look at a diagram
on this here in just a moment.
And so, ECS Kubernetes is certified
to be Kubernetes conformant.
It is compatible with applications designed
for standard Kubernetes.
It essentially is standard Kubernetes except
that AWS is managing the master nodes
for us.
So, let's take a look here
at a diagram showing the architecture.
So what you can notice here is that as a customer,
we will have our own VPC, right so we would create
our own VPC and in that VPC,
we are then responsible for the worker nodes.
AWS,
Amazon is creating
another VPC specifically for
the master nodes,
right so AWS is managing those master nodes,
we know that they are there,
but they are
pretty well opaque to us, we don't really get to see exactly
what's going on behind the scenes
we're just trusting that AWS is managing
the Kubernetes worker nodes in a highly available
fault tolerant, secure and durable way.
And so as far as the
worker nodes go,
these instances here,
these are up to us to launch and put in place.
AWS does provide
a machine image that includes
the Kubernetes software and allows us to connect
the worker nodes to the master nodes
and as you can see here, these worker nodes will all
essentially communicate with the master nodes
once they are up and running but it is our responsibility
to ensure that we're using the right machine image
for the worker nodes, that we are using
the right security groups.
And then of course, we do have complete freedom
to use
just about any EC2 instance
we feel is appropriate.
We could use, you know, c5.larges,
we could use m58.xlarges we could use,
you know, our five machines,
we could put a blend of different machines
in as worker nodes,
if our applications you know,
have the ability to run on different types of machines,
right,
So what we do with their worker nodes
is totally up to us,
but they are our responsibility.
And then of course, as we deploy containers to Kubernetes
those containers
will be launched in run here on the worker nodes
and then our users, if we are running any kind of
application that's accessible over the internet,
such as API's or web socket applications.
Then of course, our users will come in
through the internet gateway
through a load balancer and then the load balancer
could load balance to the containers
running on
these worker nodes.
Right, so that's EKS Elastic Container Service
for Kubernetes,
giving us a fully managed Kubernetes control plane.