33f5607ff1 | ||
---|---|---|
.. | ||
ansible | ||
templates | ||
README.md | ||
ansible.tf | ||
apigee.tf | ||
diagram.png | ||
gke.tf | ||
main.tf | ||
mgmt.tf | ||
terraform.tfvars.sample | ||
variables.tf | ||
vpc.tf |
README.md
Apigee Hybrid on GKE
This example installs Apigee hybrid in a non-prod environment on a GKE private cluster using Terraform and Ansible. The Terraform configuration deploys all the required infrastructure including a management VM used to run an ansible playbook to the actual Apigee Hybrid setup.
The diagram below depicts the architecture.
Running the blueprint
-
Clone this repository or open it in cloud shell, then go through the following steps to create resources:
-
Copy the file terraform.tfvars.sample to a file called
terraform.tfvars
and update the values if required. -
Initialize the terraform configuration
terraform init
-
Apply the terraform configuration
terraform apply
Testing the blueprint
-
Deploy an api proxy
./deploy-apiproxy.sh
-
In the console check the IP address that has been allocated to the Apigee ingress gateway and send some traffic to the deployed API proxy.
curl -k -v -H "Host:HOSTNAME" \ --resolve HOSTNAME:443:IP_ADDRESS \ https://HOSTNAME/httpbin/headers
Variables
name | description | type | required | default |
---|---|---|---|---|
hostname | Host name. | string |
✓ | |
project_id | Project ID. | string |
✓ | |
cluster_machine_type | Cluster nachine type. | string |
"e2-standard-4" |
|
cluster_network_config | Cluster network configuration. | object({…}) |
{…} |
|
mgmt_server_config | Mgmt server configuration. | object({…}) |
{…} |
|
mgmt_subnet_cidr_block | Management subnet CIDR block. | string |
"10.0.2.0/28" |
|
project_create | Parameters for the creation of the new project. | object({…}) |
null |
|
region | Region. | string |
"europe-west1" |
|
zone | Zone. | string |
"europe-west1-c" |