8000 Releases · doitintl/easyeks · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Releases: doitintl/easyeks

v0.5.0-pre-alpha

06 May 17:16
Compare
Choose a tag to compare
v0.5.0-pre-alpha Pre-release
Pre-release

Currently Available in Pre-Alpha:

  1. Useful elements of Helm's design pattern are used:
    • A nice feature of Helm over say Kustomize, Terraform, or common CDK/Pulumi design patterns, is
      that it's intuitively clear what parts of the IaC are fine to change vs shouldn't be changed.
    • Configuration input parameters have sensible defaults, but can be overridden.
    • Some IaC complexity can be hidden, which allows users to focus on well organized config, which
      in turn significantly lowers cognitive overhead and improves ease of mangement and accessibility.
    • Supports the deployment of Multiple Instances: It's very easy to have multiple clusters per
      environment (dev1-eks, dev2-eks, etc.)
    • Helm popularized a convention of mixing config values with
      heavy commentary
      which improves accessibility and general user experience, by explaining what a config flag will
      do and documenting commented out examples of alternative possible values with correct syntax.
  2. Useful elements of Kustomize's design pattern are used:
    • Kustomize popularized the config overlay design pattern,
      which offers multiple advantages:
      • It allows config shared between multiple environments, to be deduplicated which makes it much
        easier to avoid unwanted config drift between environments, which improves maintainability.
      • It keeps the config well organized, which makes it easier to quickly navigate.
  3. Two well configured AWS VPCs
    • The VPCs are dualstack(IPv4/v6), and EKS cluster's use IPv6 mode to eliminate problem of running
      out of IPs.
    • fck-nat: The (f)easible (c)ost (k)onfigurable NAT, is an alternative to AWS's Managed NAT GW,
      that's an order of magnitude cheaper.
    • lower-envs-vpc defaults to 1 fck-NAT instance
    • higher-envs-vpc defaults to 2 fck-NAT instances, and can optionally be set to 3 AWS Managed NAT
      GWs.
    • node-local-dns-cache and S3 Gateway endpoints are also enabled by default.
  4. Heavily cost optimized:
    • Easy EKS gives the benefits of EKS's Auto Mode (and more), without Auto Mode's additional costs.
    • The baseline costs of a dev cluster is under $100/month.
      • EKS control plane cost is $73/month.
      • lower-env-vpc's fck-NAT defaults to $3.06/month, and is meant to be shared by multiple clusters.
      • 2x t4g.small spot baseline nodes are $10.22/month
      • karpenter's lower-envs default config is weighted to prefer spot based ARM bottlerocket nodes.
  5. UX optimizations:
    • EKS clusters have useful tags.
    • Name tags of EC2 instances are nicely organized.
    • IAM admins are given EKS viewer access by default for both the EKS web console and kubectl.
    • kubectl onboarding is streamlined.
  6. Production Readiness optimizations:
    • kubernetes secrets stored in etcd get KMS encrypted by default.
    • EKS Addons are all installed by default.
    • CoreDNS's config is optimized by default in terms of node affinity and autoscaling.
    • AWS Load Balancer Controller is installed by default and configured using eks-pod-identity-agent,
      which means it doubles as a great IaC reference for pod level IAM rights.
    • Karpenter is installed by default and preconfigured to provision spot, on-demand, AMD, or ARM
      bottlerocket based worker nodes.

What's Changed

  • Initial Release (pre-alpha quality)
  • Finished QA after renaming "eks-cdk-quickstart" to "easyeks" by @neoakris in #7

New Contributors

Full Changelog: https://github.com/doitintl/easyeks/commits/v0.5.0-pre-alpha

0