<p>So I'm getting this error when trying to install kubernetes with aws as the cloud provider. I'm installing with kubespray but I narrowed it down to the below command which I tried executing manually inside the hyperkube container. I'm guessing the actual error comes from not having the proper iam role. I'm working on obtaining one but that will take sometime. I also see that it says zone not specified in the configuration file. I'm not really sure where to specify it. Can someone point me in the right direction in that? Also just for testing purposes I can manually obtain awa access keys and session tokens. Is there a way to get hyperkube to use those?</p>

<p><code>
root@15713968201f:/# /hyperkube  apiserver  --advertise-address=10.205.232.161  --etcd-servers=https://10.205.232.161:2379,https://10.205.235.70:2379  --etcd-quorum-read=true  --etcd-cafile=/etc/ssl/etcd/ssl/ca.pem  --etcd-certfile=/etc/ssl/etcd/ssl/node-ip-10-205-232-161.ec2.internal.pem  --etcd-keyfile=/etc/ssl/etcd/ssl/node-ip-10-205-232-161.ec2.internal-key.pem  --insecure-bind-address=127.0.0.1  --apiserver-count=2  --admission-control=NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,ResourceQuota  --service-cluster-ip-range=10.233.0.0/18  --service-node-port-range=30000-32767  --client-ca-file=/etc/kubernetes/ssl/ca.pem  --basic-auth-file=/etc/kubernetes/users/known_users.csv  --tls-cert-file=/etc/kubernetes/ssl/apiserver.pem  --tls-private-key-file=/etc/kubernetes/ssl/apiserver-key.pem  --token-auth-file=/etc/kubernetes/tokens/known_tokens.csv  --service-account-key-file=/etc/kubernetes/ssl/apiserver-key.pem  --secure-port=6443  --insecure-port=8080  --storage-backend=etcd3  --v=2  --allow-privileged=true  --cloud-provider=aws  --anonymous-auth=False
I0817 22:08:00.258693     134 aws.go:762] Building AWS cloudprovider
I0817 22:08:00.258810     134 aws.go:725] Zone not specified in configuration file; querying AWS metadata service
Error: error setting the external host value: "aws" cloud provider could not be initialized: could not init cloud provider "aws": error finding instance i-045f83bfff733a224: error listing AWS instances: NoCredentialProviders: no valid providers in chain. Deprecated.
    For verbose messaging see aws.Config.CredentialsChainVerboseErrors
Error: error setting the external host value: "aws" cloud provider could not be initialized: could not init cloud provider "aws": error finding instance i-045f83bfff733a224: error listing AWS instances: NoCredentialProviders: no valid providers in chain. Deprecated.
    For verbose messaging see aws.Config.CredentialsChainVerboseErrors
</code></p>

<p><a href="https://github.com/kubernetes/kubernetes/issues/11543" rel="nofollow noreferrer">https://github.com/kubernetes/kubernetes/issues/11543</a></p>

<p>I'd be willing to bet that your node iam role doesn't have enough access. I'm not acquainted with kubespray but I think the above issue should help you troubleshoot your problem.</p>

<p>This is the bit that I'm focusing on: </p>

<pre><code>error finding instance i-045f83bfff733a224: error listing AWS instances: NoCredentialProviders: no valid providers in chain.
</code></pre>
