brief-vr-24049
06/10/2022, 5:33 AMflat-laptop-90489
06/10/2022, 2:10 PM// Save a kube provider for later use
kubeconfig := cluster.Kubeconfig.ApplyT(func(k interface{}) (string, error) {
data, err := json.Marshal(k)
if err != nil {
return "", fmt.Errorf("kubeconfig is not a string")
}
return string(data), nil
}).(pulumi.StringOutput)
kubeProvider, err := kubernetes.NewProvider(ctx, awsCluster.Name, &kubernetes.ProviderArgs{
Kubeconfig: kubeconfig,
})
brief-vr-24049
06/10/2022, 6:12 PMflat-laptop-90489
06/10/2022, 6:13 PMprehistoric-london-9917
06/12/2022, 8:00 PM@pulumi/eks
package, you get a provider
output you can use as a resource option for future K8S operations like:
cluster = new eks.Cluster(...);
k8sThing = new k8s.core.v1...({args}, {provider: cluster.provider});
brief-vr-24049
06/13/2022, 12:06 AM.apply
on the output of that dynamic resource to look up the information to make a kubeconfig
, which is how I'm getting the Output<string>
that is the kubeconfig.Output<string>
, it already has a valid value