当前位置: 首页 > 软件库 > 云计算 > 云原生 >

terraform-kubestack

授权协议 Apache-2.0 License
开发语言 Google Go
所属分类 云计算、 云原生
软件类型 开源软件
地区 不详
投 递 者 暴阳州
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

Kubestack

The Open Source Gitops Framework

Join Our Contributors!

Introduction

Kubestack is a Gitops framework for managed Kubernetes services based on Terraform and Kustomize.

Features

  • Provides full testability of configuration changes
  • Clearly separates infrastructure and applications (ops & apps cluster pair)
  • Ensures K8s cluster config, surrounding infrastructure (e.g. DNS, IPs) and cluster services (e.g. Ingress) are maintained together
  • Unifies application environments across cloud providers
  • Increases deployment confidance through local deployments that accurately mirror cloud deployments
  • Enables a sustainable and fully automated GitOps workflow

Getting Started

For the easiest way to get started, visit the official Kubestack quickstart. This tutorial will help you get started with the Kubestack GitOps framework. It is divided into three steps.

  1. Develop Locally
    • Scaffold your repository and tweak your config in a local development environment that simulates your actual cloud configuration using Kubernetes in Docker (KinD).
  2. Provision Infrastructure
    • Set-up cloud prerequisites and bootstrap Kubestack's environment and clusters on your cloud provider for the first time.
  3. Set-up Automation
    • Integrate CI/CD to automate changes following Kubestack's GitOps workflow.

See the tests directory for an example of how to extend this towards multi-cluster and/or multi-cloud.

Repository Layout

This repository holds Terraform modules in directories matching the respective provider name, e.g. aws, azurerm, google. Additionally common holds the modules that are used for all providers. Most notably the metadata module that ensures a consistent naming scheme and the cluster_services module which integrates Kustomize into the Terraform apply.

Each cloud provider specific module directory always has a cluster, cluster-local, and _modules directories. The cluster module is user facing and once Kubestack is out of beta the goal is to not change the module interface unless the major version changes. The cluster module then internally uses the module in _modules that holds the actual implementation. The cluster-local module is similar to the cluster module, but configured for local deployments.

The quickstart directory is home to the source for the zip files that are used to bootstrap the user repositories when following the quickstart documentation.

The tests directory holds a set of happy path tests that also act as a example of how to do multiple cluster pairs across multiple clouds from one repository.

Getting Help

Official Documentation
Refer to the official documentation for a deeper dive into how to use and configure Kubetack.

Community Help
If you have any questions while following the tutorial, join the #kubestack channel on the Kubernetes community. To create an account request an invitation.

Professional Services
For organizations interested in accelerating their GitOps journey, professional services are available.

Contributing

Contributions to the Kubestack framework are welcome and encouraged. Before contributing, please read the Contributing and Code of Conduct Guidelines.

One super simple way to contribute to the success of this project is to give it a star.

Kubestack Repositories

  • kbst/terraform-kubestack (this repository)
    • Terraform GitOps Framework - Everything you need to build reliable automation for AKS, EKS and GKE Kubernetes clusters in one free and open-source framework.
  • kbst/kbst
    • Kubestack Framework CLI - All-in-one CLI to scaffold your Infrastructure as Code repository and deploy your entire platform stack locally for faster iteration.
  • kbst/terraform-provider-kustomization
    • Kustomize Terraform Provider - A Kubestack maintained Terraform provider for Kustomize, available in the Terraform registry.
  • kbst/catalog
    • Catalog of cluster services as Kustomize bases - Continuously tested and updated Kubernetes services, installed and customizable using native Terraform syntax.
 相关资料
  • 重要提示:Terraform 所在的 HashiCorp 公司宣布,不允许中国境内使用该公司旗下的企业版的产品和软件(开源版本不受影响)。 Terraform 是一个安全和高效的用来构建、更改和合并基础架构的工具。采用 Go 语言开发。Terraform 可管理已有的流行的服务,并提供自定义解决方案。 Terraform 的关键特性: 架构就是代码 执行计划 资源图 变更自动化

  • 自动化部署使用 Terraform 在 Digital Ocean 上创建服务器,然后 Ansible 在这些服务器上创建和管理测试网络。 安装 注意:请参阅集成 bash 脚本,它可以在一个新的 DO 液滴上运行,并将自动启动一个 4 节点的测试网络。脚本或多或少完成了下面描述的所有工作。 在 Linux 机器上安装 Terraform 和 Ansible。 创建一个带读写能力的 Digital

  • Terraform是一个开源的互动高度场的产生和处理程序,使您能够生成随机地形和改变它。 Terraform 允许您创建分形地形(也称为高度场)和改造它使用了一些算法。其目的是为那些将要生成谁在光线跟踪或其他模拟使用数字地形模型的工具。 Terraform功能不同的看法和colormaps并预览模式,功能的交互式实时地形对象时旋转。 Terraform运行于GNOME桌面环境。

  • Terraform Landscape Terraform Landscape is a tool for reformatting the output of terraform planto be easier to read and understand. Before After Requirements Installation Usage Requirements Ruby 2.5+

  • mastodon-terraform Boilerplate for running Mastodon on AWS using Terraform and CircleCI. ┌---------------┐| Web Browser |└---------------┘▲ ▲| |(HTTPS) (WSS)|

  • within-terraform Test repo, please ignore