Much of the power of Kubernetes comes from the fact that it is easy to extend by adding additional services to provide additional functionality.
We are going to look at an example of this by deploying kube2iam. This is a daemon that runs on every node in our cluster and intercepts calls to the AWS metadata service that are made by processes running in our pods.
A simple way to provision a service like this is by using a DaemonSet to run a pod on every node in the cluster, as shown in the following code. This approach is already used in our cluster to deploy the aws-vpc-cni networking plugin to every node and to run kube-proxy, the Kubernetes component that runs on every node and that is responsible for routing traffic that is destined for service IPs to the underlying pods:
kube2iam.yaml
--- apiVersion: v1 kind: ServiceAccount metadata: name: kube2iam...