Fury GKE Installer deploys a production-grade Kubernetes Fury cluster based on Google Kubernetes Engine (GKE).
If you are new to Kubernetes Fury please refer to the official documentation on how to get started.
The installer is composed of the following terraform modules:
Module | Description |
---|---|
VPC | Deploy the necessary networking infrastructure |
VPN | Deploy a VPN Server to connect to private clusters |
GKE | Deploy the GKE cluster |
Click on each module to see its full documentation.
The GKE installers deploys and configures a production-ready GKE cluster without having to learn all internals of the service.
The GKE module deploys a private control plane cluster, where the control plane endpoint is not publicly accessible.
The VPC module setups all the necessary networking infrastructure. The VPN module setups one or more bastion hosts with an OpenVPN server.
The bastion host includes a OpenVPN instance easily manageable by using furyagent to provide access to the cluster.
🕵🏻♂️ Furyagent is a tool developed by SIGHUP to manage OpenVPN and SSH user access to the bastion host.
- GCP Access Credentials of a GCP Account with
Project Owner
role with the following APIs enabled:- Identity and Access Management (IAM) API
- Compute Engine API
- Cloud Resource Manager API
- Kubernetes Engine API
- terraform
>=1.3.0
ssh
or OpenVPN Client - Tunnelblick (on macOS) or OpenVPN Connect (for other OS) are recommended.
To create the cluster via the installers:
-
Use the VPC module to deploy the networking infrastructure
-
Use the VPN module to deploy the OpenVPN bastion host
-
Configure access to the OpenVPN instance of the bastion host via furyagent
-
Connect to the OpenVPN instance
-
Use the GKE module to deploy the GKE cluster
Please refer to each module documentation and the examples folder for more details.
You can follow the Fury on GKE quick start guide for a more detailed walkthrough
Before contributing, please read first the Contributing Guidelines.
In case you experience any problem with the module, please open a new issue.
This module is open-source and it's released under the following LICENSE