This subordinate charm manages the cloud controller-manager components for aws.
- these polices are defined as prerequisites
- the primary unit, the aws-integrator application must have access to create IAM Policies
The charm requires aws credentials and connection information, which
can be provided the aws-integration relation to the AWS Integrator charm.
The AWS Cloud Provider subordinate charm can be deployed alongside Charmed Kubernetes using the overlay provided in the Charmed Kubernetes bundle repository:
juju deploy charmed-kubernetes --overlay aws-cloud-overlay.yamljuju deploy charmed-kubernetes
juju deploy aws-integrator --trust
juju deploy aws-cloud-provider
juju relate aws-cloud-provider:certificates easyrsa
juju relate aws-cloud-provider:kube-control kubernetes-control-plane
juju relate aws-cloud-provider:external-cloud-provider kubernetes-control-plane
juju relate aws-cloud-provider:aws-integration aws-integrator
## wait for the aws controller daemonset to be running
# the cloud-controller will set the node's ProviderID
kubectl describe nodes |egrep "Taints:|Name:|Provider"- to access Native AWS storage, see the AWS Storage charm.
- Requires a
charmed-kubernetesdeployment on a aws cloud launched by juju with theallow-privilegedflag enabled. - Deploy the
aws-integratorcharm into the model using--trustso juju provided vsphere credentials - Deploy the
aws-cloud-providercharm in the model relating to the integrator and to charmed-kubernetes components - Once the model is active/idle, the cloud-provider charm will have successfully deployed the aws controller-manager in the kube-system namespace
- Taint the existing nodes so the controller will apply the correct provider id to those nodes.
- Confirm the
ProviderIDis set on each node - For the controller to operate, the aws-integrator charm will apply the appropriate IAM policies and standardize the cluster-tag
- the Kubernetes-Worker and Kuberenetes-Control-Plane charms start their binaries with
--external-providerrather than the in-tree switch--cloud-provider=awswhich has been removed starting in kubernetes 1.27
Please see the Juju SDK docs for guidelines on enhancements to this charm following best practice guidelines, and CONTRIBUTING.md for developer guidance.