dustin/dynk8s-provisioner/pipeline/head This commit looks good
Details
Jenkins jobs that build container images in user namespaces need access to `/dev/fuse`, which is provided by the [fuse-device-plugin][0]. This plugin runs as a DaemonSet, which updates the status of the node it's running on when it starts to indicate that the FUSE device is available. When scaling up from zero nodes, Cluster Autoscaler has no way to know that this will occur, and therefore cannot determine that scaling up the ASG will create a node with the required resources. Thus, the ASG needs a tag to inform CA that the nodes it creates will indeed have the resources and scaling it up will allow the pod to be scheduled. Although this feature of CA was added in 1.14, it apparently got broken at some point and no longer works in 1.22. It works again in 1.26, though. [0]: https://github.com/kuberenetes-learning-group/fuse-device-plugin/tree/master |
||
---|---|---|
.. | ||
.gitattributes | ||
.gitignore | ||
.terraform.lock.hcl | ||
README.md | ||
asg.tf | ||
eventbridge.tf | ||
iam-policy.json | ||
main.tf | ||
sns.tf | ||
terraform.tfstate | ||
userdata.yml | ||
variables.tf |
README.md
Configuring AWS Using Terraform
Prerequisites
The IAM user or role that runs Terraform must have the appropriate permissions.
The iam-policy.json
file defines a policy that will allow the Terraform to
manage all of the necessary resources. Before running Terraform, create an IAM
policy and assign it to a user, group, or role. Be sure to replace the AWS
account ID in the various target resource names.
To use an IAM role, set the iam_role
Terraform variable when executing
terraform plan
/terraform apply
.
Create Resources
Terraform will create all resources automatically:
terraform apply