colossal-tomato-19687
09/17/2025, 2:12 PMpulumi:pulumi:Stack aws_test-cluster_aws_test_fhm running error: eks:index:Cluster resource 'eks' has a problem: Could not find aws CLI for EKS. See <https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html> for installation instructions.
I do not have the aws cli installed but from experience with azure etc. this is not required when configuring the provider explicitly.
I have tried spinning up other resources like EC2 which works fine.
var provider = new Pulumi.Aws.Provider("aws", new()
{
AccessKey = "redacted",
SecretKey = "redacted",
Region = "redacted"
});
var eks = new Pulumi.Eks.Cluster("eks", new()
{
AutoMode = new AutoModeOptionsArgs()
{
Enabled = true
},
}, new()
{
Provider = provider
});
quick-house-41860
09/17/2025, 8:15 PMgreen-answer-22914
09/17/2025, 8:16 PMIf you don’t have the AWS CLI installed and configured, set that up too.per https://www.pulumi.com/blog/easily-create-and-manage-aws-eks-kubernetes-clusters-with-pulumi/
quick-house-41860
09/17/2025, 8:17 PMaws eks update-kubeconfig
for your cluster and inspecting your kubeconfig. The AWS CLI adds special exec commands into the kubeconfig for this auth dance.
The EKS provider does the same thing when it creates the kubeconfig for interacting with the clustercolossal-tomato-19687
09/18/2025, 11:55 AM+ kubernetes:core/v1:Namespace keyshot **creating failed** error: configured Kubernetes cluster is unreachable: unable to load schema information from the API server: the server has asked for the client to provide credentials
From what i can see from various documentation i am only supposed to create the kubernetes provider with the kubeconfig provided by the cluster when it is created, but this somehow doesn't seem to work an i have no idea why.
Thanks in advance
var provider = new Pulumi.Aws.Provider("aws", new()
{
AccessKey = "redacted",
SecretKey = "redacted",
Region = "redacted"
});
var cluster = new Cluster("eks", new ClusterArgs
{
AutoMode = new AutoModeOptionsArgs { Enabled = true },
AuthenticationMode = AuthenticationMode.Api,
},
new()
{
Provider = provider
});
var k8sProvider = new Pulumi.Kubernetes.Provider("k8s", new Pulumi.Kubernetes.ProviderArgs
{
KubeConfig = cluster.KubeconfigJson,
}, new CustomResourceOptions
{
DependsOn = { cluster }
});
var ns = new Namespace("keyshot", new NamespaceArgs(), new CustomResourceOptions
{
Provider = k8sProvider,
});
green-answer-22914
09/18/2025, 6:32 PMkubectl --kubeconfig=<path-to-kubeconfig> get ns
using the kubeconfig output by pulumi. If this fails, pulumi will also fail. You can use pulumi stack output kubeconfig --show-secrets > kubeconfig.yaml
to output to your local directory (assuming you create an output called "kubeconfig").