Skip to content

Instantly share code, notes, and snippets.

@mrparkers
Created September 15, 2019 23:48
Show Gist options
  • Save mrparkers/6248b7e17073ef3bdb815905bcabda68 to your computer and use it in GitHub Desktop.
Save mrparkers/6248b7e17073ef3bdb815905bcabda68 to your computer and use it in GitHub Desktop.
$ make up
Sending build context to Docker daemon 4.096kB
Step 1/10 : FROM google/cloud-sdk:262.0.0-alpine
---> 6a09bced8955
Step 2/10 : WORKDIR /usr/src
---> Using cache
---> 361408ec5ead
Step 3/10 : ARG TERRAFORM_VERSION="0.12.8"
---> Using cache
---> 5ead1e69ebd4
Step 4/10 : ARG HELM_VERSION="v3.0.0-beta.3"
---> Using cache
---> 785290519dfc
Step 5/10 : ARG KUBECTL_VERSION="v1.14.3"
---> Using cache
---> e6151d96caf1
Step 6/10 : ARG JQ_VERSION="1.6"
---> Using cache
---> 555f4448983e
Step 7/10 : RUN wget -O terraform.zip https://releases.hashicorp.com/terraform/${TERRAFORM_VERSION}/terraform_${TERRAFORM_VERSION}_linux_amd64.zip && unzip terraform.zip && mv terraform /usr/local/bin && rm terraform.zip && terraform --version
---> Using cache
---> 9c6511d56976
Step 8/10 : RUN wget -O helm.tar.gz https://get.helm.sh/helm-${HELM_VERSION}-linux-amd64.tar.gz && tar -xvf helm.tar.gz && mv linux-amd64/helm /usr/local/bin && rm -rf helm.tar.gz linux-amd64 && helm version
---> Using cache
---> f8afa1579037
Step 9/10 : RUN wget -O kubectl.tar.gz https://dl.k8s.io/${KUBECTL_VERSION}/kubernetes-client-linux-amd64.tar.gz && tar -xvf kubectl.tar.gz && mv kubernetes/client/bin/kubectl /usr/local/bin && rm -rf kubectl.tar.gz kubernetes && kubectl version --client
---> Using cache
---> 55a12c7b968b
Step 10/10 : RUN wget -O jq https://github.com/stedolan/jq/releases/download/jq-${JQ_VERSION}/jq-linux64 && chmod +x jq && mv jq /usr/local/bin && jq --version
---> Using cache
---> a629976477b8
Successfully built a629976477b8
Successfully tagged hello-world-gke:latest
----- Creating project, network, and cluster -----
You will be prompted for a `gcloud_project_id` variable. This will uniquely identify your project in GCP.
You can create a `terraform.tfvars` file to avoid being prompted for this in the future.
var.gcloud_project_id
Enter a value: mrparkers-hello-world-gke-demo
data.google_billing_account.default_billing_account: Refreshing state...
An execution plan has been generated and is shown below.
Resource actions are indicated with the following symbols:
+ create
Terraform will perform the following actions:
# google_compute_address.loadbalancer_ip will be created
+ resource "google_compute_address" "loadbalancer_ip" {
+ address = (known after apply)
+ address_type = "EXTERNAL"
+ creation_timestamp = (known after apply)
+ id = (known after apply)
+ name = "loadbalancer-ip"
+ network_tier = (known after apply)
+ project = (known after apply)
+ region = "us-central1"
+ self_link = (known after apply)
+ subnetwork = (known after apply)
+ users = (known after apply)
}
# google_compute_firewall.allow_https will be created
+ resource "google_compute_firewall" "allow_https" {
+ creation_timestamp = (known after apply)
+ destination_ranges = (known after apply)
+ direction = (known after apply)
+ id = (known after apply)
+ name = "allow-http"
+ network = (known after apply)
+ priority = 1000
+ project = (known after apply)
+ self_link = (known after apply)
+ source_ranges = [
+ "0.0.0.0/0",
]
+ target_tags = [
+ "gke",
]
+ allow {
+ ports = [
+ "443",
+ "80",
]
+ protocol = "tcp"
}
}
# google_compute_network.vpc will be created
+ resource "google_compute_network" "vpc" {
+ auto_create_subnetworks = false
+ delete_default_routes_on_create = false
+ description = "Dedicated VPC for Hello World GKE exercise"
+ gateway_ipv4 = (known after apply)
+ id = (known after apply)
+ name = "vpc"
+ project = (known after apply)
+ routing_mode = (known after apply)
+ self_link = (known after apply)
}
# google_compute_subnetwork.vpc_k8s will be created
+ resource "google_compute_subnetwork" "vpc_k8s" {
+ creation_timestamp = (known after apply)
+ description = "Subnet for VPC Native GKE cluster"
+ enable_flow_logs = true
+ fingerprint = (known after apply)
+ gateway_address = (known after apply)
+ id = (known after apply)
+ ip_cidr_range = "172.18.20.16/28"
+ name = "hello-world-gke-us-central1"
+ network = (known after apply)
+ private_ip_google_access = true
+ project = (known after apply)
+ region = "us-central1"
+ secondary_ip_range = [
+ {
+ ip_cidr_range = "172.18.0.0/20"
+ range_name = "gke-pods"
},
+ {
+ ip_cidr_range = "172.18.16.0/22"
+ range_name = "gke-services"
},
]
+ self_link = (known after apply)
}
# google_container_cluster.gke_cluster will be created
+ resource "google_container_cluster" "gke_cluster" {
+ additional_zones = (known after apply)
+ cluster_ipv4_cidr = (known after apply)
+ default_max_pods_per_node = (known after apply)
+ enable_binary_authorization = false
+ enable_intranode_visibility = true
+ enable_kubernetes_alpha = false
+ enable_legacy_abac = false
+ enable_tpu = false
+ endpoint = (known after apply)
+ id = (known after apply)
+ initial_node_count = 1
+ instance_group_urls = (known after apply)
+ ip_allocation_policy = [
+ {
+ cluster_ipv4_cidr_block = (known after apply)
+ cluster_secondary_range_name = "gke-pods"
+ create_subnetwork = null
+ node_ipv4_cidr_block = (known after apply)
+ services_ipv4_cidr_block = (known after apply)
+ services_secondary_range_name = "gke-services"
+ subnetwork_name = null
+ use_ip_aliases = true
},
]
+ location = "us-central1"
+ logging_service = "logging.googleapis.com/kubernetes"
+ master_version = (known after apply)
+ min_master_version = "1.14.3-gke.11"
+ monitoring_service = "monitoring.googleapis.com/kubernetes"
+ name = "hello-world-gke"
+ network = (known after apply)
+ node_locations = [
+ "us-central1-a",
+ "us-central1-b",
+ "us-central1-c",
]
+ node_version = (known after apply)
+ project = (known after apply)
+ region = (known after apply)
+ remove_default_node_pool = true
+ services_ipv4_cidr = (known after apply)
+ subnetwork = (known after apply)
+ tpu_ipv4_cidr_block = (known after apply)
+ zone = (known after apply)
+ addons_config {
+ cloudrun_config {
+ disabled = (known after apply)
}
+ horizontal_pod_autoscaling {
+ disabled = (known after apply)
}
+ http_load_balancing {
+ disabled = true
}
+ istio_config {
+ auth = (known after apply)
+ disabled = (known after apply)
}
+ kubernetes_dashboard {
+ disabled = (known after apply)
}
+ network_policy_config {
+ disabled = false
}
}
+ authenticator_groups_config {
+ security_group = (known after apply)
}
+ cluster_autoscaling {
+ enabled = (known after apply)
+ resource_limits {
+ maximum = (known after apply)
+ minimum = (known after apply)
+ resource_type = (known after apply)
}
}
+ database_encryption {
+ key_name = (known after apply)
+ state = (known after apply)
}
+ maintenance_policy {
+ daily_maintenance_window {
+ duration = (known after apply)
+ start_time = "06:00"
}
}
+ master_auth {
+ client_certificate = (known after apply)
+ client_key = (sensitive value)
+ cluster_ca_certificate = (known after apply)
+ client_certificate_config {
+ issue_client_certificate = false
}
}
+ master_authorized_networks_config {
+ cidr_blocks {
+ cidr_block = "0.0.0.0/0"
}
}
+ network_policy {
+ enabled = true
+ provider = "CALICO"
}
+ node_config {
+ disk_size_gb = (known after apply)
+ disk_type = (known after apply)
+ guest_accelerator = (known after apply)
+ image_type = (known after apply)
+ labels = (known after apply)
+ local_ssd_count = (known after apply)
+ machine_type = (known after apply)
+ metadata = (known after apply)
+ min_cpu_platform = (known after apply)
+ oauth_scopes = (known after apply)
+ preemptible = (known after apply)
+ service_account = (known after apply)
+ tags = (known after apply)
+ sandbox_config {
+ sandbox_type = (known after apply)
}
+ taint {
+ effect = (known after apply)
+ key = (known after apply)
+ value = (known after apply)
}
+ workload_metadata_config {
+ node_metadata = (known after apply)
}
}
+ node_pool {
+ initial_node_count = (known after apply)
+ instance_group_urls = (known after apply)
+ max_pods_per_node = (known after apply)
+ name = (known after apply)
+ name_prefix = (known after apply)
+ node_count = (known after apply)
+ version = (known after apply)
+ autoscaling {
+ max_node_count = (known after apply)
+ min_node_count = (known after apply)
}
+ management {
+ auto_repair = (known after apply)
+ auto_upgrade = (known after apply)
}
+ node_config {
+ disk_size_gb = (known after apply)
+ disk_type = (known after apply)
+ guest_accelerator = (known after apply)
+ image_type = (known after apply)
+ labels = (known after apply)
+ local_ssd_count = (known after apply)
+ machine_type = (known after apply)
+ metadata = (known after apply)
+ min_cpu_platform = (known after apply)
+ oauth_scopes = (known after apply)
+ preemptible = (known after apply)
+ service_account = (known after apply)
+ tags = (known after apply)
+ sandbox_config {
+ sandbox_type = (known after apply)
}
+ taint {
+ effect = (known after apply)
+ key = (known after apply)
+ value = (known after apply)
}
+ workload_metadata_config {
+ node_metadata = (known after apply)
}
}
}
+ pod_security_policy_config {
+ enabled = false
}
+ private_cluster_config {
+ master_ipv4_cidr_block = "172.18.20.0/28"
+ private_endpoint = (known after apply)
+ public_endpoint = (known after apply)
}
}
# google_container_node_pool.standard_node_pool_us_central1 will be created
+ resource "google_container_node_pool" "standard_node_pool_us_central1" {
+ cluster = (known after apply)
+ id = (known after apply)
+ initial_node_count = (known after apply)
+ instance_group_urls = (known after apply)
+ location = "us-central1"
+ max_pods_per_node = (known after apply)
+ name = "gke-standard-node-pool2"
+ name_prefix = (known after apply)
+ node_count = 1
+ project = (known after apply)
+ region = (known after apply)
+ version = "1.14.3-gke.11"
+ zone = (known after apply)
+ management {
+ auto_repair = (known after apply)
+ auto_upgrade = (known after apply)
}
+ node_config {
+ disk_size_gb = 33
+ disk_type = "pd-ssd"
+ guest_accelerator = (known after apply)
+ image_type = "COS"
+ labels = (known after apply)
+ local_ssd_count = (known after apply)
+ machine_type = "n1-standard-2"
+ metadata = (known after apply)
+ oauth_scopes = (known after apply)
+ preemptible = false
+ service_account = (known after apply)
+ tags = [
+ "gke",
]
}
}
# google_project.project will be created
+ resource "google_project" "project" {
+ app_engine = (known after apply)
+ auto_create_network = false
+ billing_account = "0176B8-FE85AF-15193A"
+ folder_id = (known after apply)
+ id = (known after apply)
+ name = "mrparkers-hello-world-gke-demo"
+ number = (known after apply)
+ org_id = (known after apply)
+ policy_data = (known after apply)
+ policy_etag = (known after apply)
+ project_id = "mrparkers-hello-world-gke-demo"
+ skip_delete = (known after apply)
}
# google_project_iam_member.gke_node_pool_svc_permissions["roles/logging.logWriter"] will be created
+ resource "google_project_iam_member" "gke_node_pool_svc_permissions" {
+ etag = (known after apply)
+ id = (known after apply)
+ member = (known after apply)
+ project = (known after apply)
+ role = "roles/logging.logWriter"
}
# google_project_iam_member.gke_node_pool_svc_permissions["roles/monitoring.metricWriter"] will be created
+ resource "google_project_iam_member" "gke_node_pool_svc_permissions" {
+ etag = (known after apply)
+ id = (known after apply)
+ member = (known after apply)
+ project = (known after apply)
+ role = "roles/monitoring.metricWriter"
}
# google_project_iam_member.gke_node_pool_svc_permissions["roles/monitoring.viewer"] will be created
+ resource "google_project_iam_member" "gke_node_pool_svc_permissions" {
+ etag = (known after apply)
+ id = (known after apply)
+ member = (known after apply)
+ project = (known after apply)
+ role = "roles/monitoring.viewer"
}
# google_project_service.services["container.googleapis.com"] will be created
+ resource "google_project_service" "services" {
+ disable_on_destroy = true
+ id = (known after apply)
+ project = (known after apply)
+ service = "container.googleapis.com"
}
# google_project_service.services["logging.googleapis.com"] will be created
+ resource "google_project_service" "services" {
+ disable_on_destroy = true
+ id = (known after apply)
+ project = (known after apply)
+ service = "logging.googleapis.com"
}
# google_project_service.services["monitoring.googleapis.com"] will be created
+ resource "google_project_service" "services" {
+ disable_on_destroy = true
+ id = (known after apply)
+ project = (known after apply)
+ service = "monitoring.googleapis.com"
}
# google_service_account.gke_node_pool_svc will be created
+ resource "google_service_account" "gke_node_pool_svc" {
+ account_id = "gke-node-pool"
+ email = (known after apply)
+ id = (known after apply)
+ name = (known after apply)
+ project = (known after apply)
+ unique_id = (known after apply)
}
Plan: 14 to add, 0 to change, 0 to destroy.
Do you want to perform these actions?
Terraform will perform the actions described above.
Only 'yes' will be accepted to approve.
Enter a value: yes
google_project.project: Creating...
google_project.project: Still creating... [10s elapsed]
google_project.project: Still creating... [20s elapsed]
google_project.project: Still creating... [30s elapsed]
google_project.project: Still creating... [40s elapsed]
google_project.project: Still creating... [50s elapsed]
google_project.project: Still creating... [1m0s elapsed]
google_project.project: Still creating... [1m10s elapsed]
google_project.project: Still creating... [1m20s elapsed]
google_project.project: Still creating... [1m30s elapsed]
google_project.project: Still creating... [1m40s elapsed]
google_project.project: Still creating... [1m50s elapsed]
google_project.project: Still creating... [2m0s elapsed]
google_project.project: Still creating... [2m10s elapsed]
google_project.project: Still creating... [2m20s elapsed]
google_project.project: Still creating... [2m30s elapsed]
google_project.project: Still creating... [2m40s elapsed]
google_project.project: Still creating... [2m50s elapsed]
google_project.project: Still creating... [3m0s elapsed]
google_project.project: Still creating... [3m10s elapsed]
google_project.project: Still creating... [3m20s elapsed]
google_project.project: Creation complete after 3m28s [id=mrparkers-hello-world-gke-demo]
google_compute_address.loadbalancer_ip: Creating...
google_service_account.gke_node_pool_svc: Creating...
google_project_service.services["container.googleapis.com"]: Creating...
google_project_service.services["logging.googleapis.com"]: Creating...
google_compute_network.vpc: Creating...
google_project_service.services["monitoring.googleapis.com"]: Creating...
google_service_account.gke_node_pool_svc: Creation complete after 1s [id=projects/mrparkers-hello-world-gke-demo/serviceAccounts/gke-node-pool@mrparkers-hello-world-gke-demo.iam.gserviceaccount.com]
google_project_iam_member.gke_node_pool_svc_permissions["roles/monitoring.viewer"]: Creating...
google_project_iam_member.gke_node_pool_svc_permissions["roles/monitoring.metricWriter"]: Creating...
google_project_iam_member.gke_node_pool_svc_permissions["roles/logging.logWriter"]: Creating...
google_compute_address.loadbalancer_ip: Creation complete after 3s [id=mrparkers-hello-world-gke-demo/us-central1/loadbalancer-ip]
google_project_service.services["logging.googleapis.com"]: Still creating... [10s elapsed]
google_project_service.services["container.googleapis.com"]: Still creating... [10s elapsed]
google_compute_network.vpc: Still creating... [10s elapsed]
google_project_service.services["monitoring.googleapis.com"]: Still creating... [10s elapsed]
google_project_iam_member.gke_node_pool_svc_permissions["roles/monitoring.metricWriter"]: Still creating... [9s elapsed]
google_project_iam_member.gke_node_pool_svc_permissions["roles/logging.logWriter"]: Still creating... [9s elapsed]
google_project_iam_member.gke_node_pool_svc_permissions["roles/monitoring.viewer"]: Still creating... [9s elapsed]
google_project_iam_member.gke_node_pool_svc_permissions["roles/monitoring.metricWriter"]: Creation complete after 14s [id=mrparkers-hello-world-gke-demo/roles/monitoring.metricWriter/serviceaccount:gke-node-pool@mrparkers-hello-world-gke-demo.iam.gserviceaccount.com]
google_project_iam_member.gke_node_pool_svc_permissions["roles/monitoring.viewer"]: Creation complete after 14s [id=mrparkers-hello-world-gke-demo/roles/monitoring.viewer/serviceaccount:gke-node-pool@mrparkers-hello-world-gke-demo.iam.gserviceaccount.com]
google_compute_network.vpc: Creation complete after 15s [id=vpc]
google_compute_subnetwork.vpc_k8s: Creating...
google_compute_firewall.allow_https: Creating...
google_project_iam_member.gke_node_pool_svc_permissions["roles/logging.logWriter"]: Creation complete after 15s [id=mrparkers-hello-world-gke-demo/roles/logging.logWriter/serviceaccount:gke-node-pool@mrparkers-hello-world-gke-demo.iam.gserviceaccount.com]
google_project_service.services["container.googleapis.com"]: Still creating... [20s elapsed]
google_project_service.services["logging.googleapis.com"]: Still creating... [20s elapsed]
google_project_service.services["monitoring.googleapis.com"]: Still creating... [20s elapsed]
google_compute_firewall.allow_https: Still creating... [10s elapsed]
google_compute_subnetwork.vpc_k8s: Still creating... [10s elapsed]
google_project_service.services["monitoring.googleapis.com"]: Creation complete after 27s [id=mrparkers-hello-world-gke-demo/monitoring.googleapis.com]
google_project_service.services["logging.googleapis.com"]: Creation complete after 27s [id=mrparkers-hello-world-gke-demo/logging.googleapis.com]
google_project_service.services["container.googleapis.com"]: Creation complete after 27s [id=mrparkers-hello-world-gke-demo/container.googleapis.com]
google_compute_firewall.allow_https: Creation complete after 16s [id=allow-http]
google_compute_subnetwork.vpc_k8s: Still creating... [20s elapsed]
google_compute_subnetwork.vpc_k8s: Still creating... [30s elapsed]
google_compute_subnetwork.vpc_k8s: Creation complete after 37s [id=us-central1/hello-world-gke-us-central1]
google_container_cluster.gke_cluster: Creating...
google_container_cluster.gke_cluster: Still creating... [10s elapsed]
google_container_cluster.gke_cluster: Still creating... [20s elapsed]
google_container_cluster.gke_cluster: Still creating... [30s elapsed]
google_container_cluster.gke_cluster: Still creating... [40s elapsed]
google_container_cluster.gke_cluster: Still creating... [50s elapsed]
google_container_cluster.gke_cluster: Still creating... [1m0s elapsed]
google_container_cluster.gke_cluster: Still creating... [1m10s elapsed]
google_container_cluster.gke_cluster: Still creating... [1m20s elapsed]
google_container_cluster.gke_cluster: Still creating... [1m30s elapsed]
google_container_cluster.gke_cluster: Still creating... [1m40s elapsed]
google_container_cluster.gke_cluster: Still creating... [1m50s elapsed]
google_container_cluster.gke_cluster: Still creating... [2m0s elapsed]
google_container_cluster.gke_cluster: Still creating... [2m10s elapsed]
google_container_cluster.gke_cluster: Still creating... [2m20s elapsed]
google_container_cluster.gke_cluster: Still creating... [2m30s elapsed]
google_container_cluster.gke_cluster: Still creating... [2m40s elapsed]
google_container_cluster.gke_cluster: Still creating... [2m50s elapsed]
google_container_cluster.gke_cluster: Still creating... [3m0s elapsed]
google_container_cluster.gke_cluster: Still creating... [3m10s elapsed]
google_container_cluster.gke_cluster: Still creating... [3m19s elapsed]
google_container_cluster.gke_cluster: Still creating... [3m30s elapsed]
google_container_cluster.gke_cluster: Still creating... [3m40s elapsed]
google_container_cluster.gke_cluster: Still creating... [3m49s elapsed]
google_container_cluster.gke_cluster: Still creating... [3m59s elapsed]
google_container_cluster.gke_cluster: Still creating... [4m9s elapsed]
google_container_cluster.gke_cluster: Still creating... [4m19s elapsed]
google_container_cluster.gke_cluster: Still creating... [4m29s elapsed]
google_container_cluster.gke_cluster: Still creating... [4m39s elapsed]
google_container_cluster.gke_cluster: Still creating... [4m49s elapsed]
google_container_cluster.gke_cluster: Still creating... [4m59s elapsed]
google_container_cluster.gke_cluster: Still creating... [5m9s elapsed]
google_container_cluster.gke_cluster: Still creating... [5m19s elapsed]
google_container_cluster.gke_cluster: Still creating... [5m29s elapsed]
google_container_cluster.gke_cluster: Still creating... [5m39s elapsed]
google_container_cluster.gke_cluster: Still creating... [5m49s elapsed]
google_container_cluster.gke_cluster: Still creating... [5m59s elapsed]
google_container_cluster.gke_cluster: Still creating... [6m9s elapsed]
google_container_cluster.gke_cluster: Still creating... [6m19s elapsed]
google_container_cluster.gke_cluster: Still creating... [6m29s elapsed]
google_container_cluster.gke_cluster: Still creating... [6m39s elapsed]
google_container_cluster.gke_cluster: Still creating... [6m49s elapsed]
google_container_cluster.gke_cluster: Still creating... [6m59s elapsed]
google_container_cluster.gke_cluster: Still creating... [7m9s elapsed]
google_container_cluster.gke_cluster: Still creating... [7m19s elapsed]
google_container_cluster.gke_cluster: Still creating... [7m29s elapsed]
google_container_cluster.gke_cluster: Still creating... [7m39s elapsed]
google_container_cluster.gke_cluster: Creation complete after 7m44s [id=hello-world-gke]
google_container_node_pool.standard_node_pool_us_central1: Creating...
google_container_node_pool.standard_node_pool_us_central1: Still creating... [10s elapsed]
google_container_node_pool.standard_node_pool_us_central1: Still creating... [20s elapsed]
google_container_node_pool.standard_node_pool_us_central1: Still creating... [30s elapsed]
google_container_node_pool.standard_node_pool_us_central1: Still creating... [40s elapsed]
google_container_node_pool.standard_node_pool_us_central1: Still creating... [50s elapsed]
google_container_node_pool.standard_node_pool_us_central1: Still creating... [1m0s elapsed]
google_container_node_pool.standard_node_pool_us_central1: Still creating... [1m10s elapsed]
google_container_node_pool.standard_node_pool_us_central1: Still creating... [1m20s elapsed]
google_container_node_pool.standard_node_pool_us_central1: Still creating... [1m30s elapsed]
google_container_node_pool.standard_node_pool_us_central1: Still creating... [1m40s elapsed]
google_container_node_pool.standard_node_pool_us_central1: Still creating... [1m50s elapsed]
google_container_node_pool.standard_node_pool_us_central1: Creation complete after 1m56s [id=us-central1/hello-world-gke/gke-standard-node-pool2]
Apply complete! Resources: 14 added, 0 changed, 0 destroyed.
Outputs:
gke_cluster_name = hello-world-gke
gke_cluster_project = mrparkers-hello-world-gke-demo
gke_cluster_region = us-central1
gke_loadbalancer_ip = 35.222.184.193
----- Applying Kubernetes manifest files -----
Fetching cluster endpoint and auth data.
kubeconfig entry generated for hello-world-gke.
Waiting for deployment "calico-node-vertical-autoscaler" rollout to finish: 0 of 1 updated replicas are available...
deployment "calico-node-vertical-autoscaler" successfully rolled out
deployment "calico-typha-horizontal-autoscaler" successfully rolled out
Waiting for deployment "calico-typha-vertical-autoscaler" rollout to finish: 0 of 1 updated replicas are available...
deployment "calico-typha-vertical-autoscaler" successfully rolled out
deployment "kube-dns" successfully rolled out
"jetstack" has been added to your repositories
"stable" has been added to your repositories
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "jetstack" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈ Happy Helming!⎈
----- Installing cert-manager -----
customresourcedefinition.apiextensions.k8s.io/certificaterequests.certmanager.k8s.io created
customresourcedefinition.apiextensions.k8s.io/certificates.certmanager.k8s.io created
customresourcedefinition.apiextensions.k8s.io/challenges.certmanager.k8s.io created
customresourcedefinition.apiextensions.k8s.io/clusterissuers.certmanager.k8s.io created
customresourcedefinition.apiextensions.k8s.io/issuers.certmanager.k8s.io created
customresourcedefinition.apiextensions.k8s.io/orders.certmanager.k8s.io created
namespace/cert-manager created
Error: could not get apiVersions from Kubernetes: unable to retrieve the complete list of server APIs: metrics.k8s.io/v1beta1: the server is currently unable to handle the request
NAME: cert-manager
LAST DEPLOYED: 2019-09-15 23:21:37.8760142 +0000 UTC m=+0.883652801
NAMESPACE: cert-manager
STATUS: deployed
NOTES:
cert-manager has been deployed successfully!
In order to begin issuing certificates, you will need to set up a ClusterIssuer
or Issuer resource (for example, by creating a 'letsencrypt-staging' issuer).
More information on the different types of issuers and how to configure them
can be found in our documentation:
https://docs.cert-manager.io/en/latest/reference/issuers.html
For information on how to configure cert-manager to automatically provision
Certificates for Ingress resources, take a look at the `ingress-shim`
documentation:
https://docs.cert-manager.io/en/latest/reference/ingress-shim.html
clusterissuer.certmanager.k8s.io/self-signed-clusterissuer created
certificate.certmanager.k8s.io/ca-certificate created
issuer.certmanager.k8s.io/ca-issuer created
certificate.certmanager.k8s.io/app-certificate created
----- Installing nginx-ingress-controller -----
namespace/nginx created
NAME: nginx
LAST DEPLOYED: 2019-09-15 23:22:15.7073658 +0000 UTC m=+1.296990801
NAMESPACE: nginx
STATUS: deployed
NOTES:
The nginx-ingress controller has been installed.
It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status by running 'kubectl --namespace nginx get services -o wide -w nginx-nginx-ingress-controller'
An example Ingress that makes use of the controller:
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: nginx
name: example
namespace: foo
spec:
rules:
- host: www.example.com
http:
paths:
- backend:
serviceName: exampleService
servicePort: 80
path: /
# This section is only required if TLS is to be enabled for the Ingress
tls:
- hosts:
- www.example.com
secretName: example-tls
If TLS is enabled for the Ingress, a Secret containing the certificate and key must also be provided:
apiVersion: v1
kind: Secret
metadata:
name: example-tls
namespace: foo
data:
tls.crt: <base64 encoded cert>
tls.key: <base64 encoded key>
type: kubernetes.io/tls
----- Deploying App -----
NAME: app
LAST DEPLOYED: 2019-09-15 23:23:01.671933 +0000 UTC m=+0.295345401
NAMESPACE: default
STATUS: deployed
Waiting for deployment "hello-world-gke" rollout to finish: 0 of 2 updated replicas are available...
Waiting for deployment "hello-world-gke" rollout to finish: 1 of 2 updated replicas are available...
deployment "hello-world-gke" successfully rolled out
----- Testing App -----
{
"message": "Automate all the things!",
"timestamp": 1568589801
}
----- Testing App Rolling Deployment (none of these requests should fail) -----
deployment.extensions/hello-world-gke patched
{"message":"Automate all the things!","timestamp":1568589802}
{"message":"Automate all the things!","timestamp":1568589802}
{"message":"Automate all the things!","timestamp":1568589802}
{"message":"Automate all the things!","timestamp":1568589802}
{"message":"Automate all the things!","timestamp":1568589802}
{"message":"Automate all the things!","timestamp":1568589802}
{"message":"Automate all the things!","timestamp":1568589803}
{"message":"Automate all the things!","timestamp":1568589803}
{"message":"Automate all the things!","timestamp":1568589803}
{"message":"Automate all the things!","timestamp":1568589803}
{"message":"Automate all the things!","timestamp":1568589803}
{"message":"Automate all the things!","timestamp":1568589803}
{"message":"Automate all the things!","timestamp":1568589803}
{"message":"Automate all the things!","timestamp":1568589803}
{"message":"Automate all the things!","timestamp":1568589804}
{"message":"Automate all the things!","timestamp":1568589804}
{"message":"Automate all the things!","timestamp":1568589804}
{"message":"Automate all the things!","timestamp":1568589804}
{"message":"Automate all the things!","timestamp":1568589804}
{"message":"Automate all the things!","timestamp":1568589804}
{"message":"Automate all the things!","timestamp":1568589804}
{"message":"Automate all the things!","timestamp":1568589805}
{"message":"Automate all the things!","timestamp":1568589805}
{"message":"Automate all the things!","timestamp":1568589805}
{"message":"Automate all the things!","timestamp":1568589805}
{"message":"Automate all the things!","timestamp":1568589805}
{"message":"Automate all the things!","timestamp":1568589805}
{"message":"Automate all the things!","timestamp":1568589805}
{"message":"Automate all the things!","timestamp":1568589805}
{"message":"Automate all the things!","timestamp":1568589806}
{"message":"Automate all the things!","timestamp":1568589806}
{"message":"Automate all the things!","timestamp":1568589806}
{"message":"Automate all the things!","timestamp":1568589806}
{"message":"Automate all the things!","timestamp":1568589806}
{"message":"Automate all the things!","timestamp":1568589806}
{"message":"Automate all the things!","timestamp":1568589806}
{"message":"Automate all the things!","timestamp":1568589807}
{"message":"Automate all the things!","timestamp":1568589807}
{"message":"Automate all the things!","timestamp":1568589807}
{"message":"Automate all the things!","timestamp":1568589807}
{"message":"Automate all the things!","timestamp":1568589807}
{"message":"Automate all the things!","timestamp":1568589807}
{"message":"Automate all the things!","timestamp":1568589807}
{"message":"Automate all the things!","timestamp":1568589807}
{"message":"Automate all the things!","timestamp":1568589808}
{"message":"Automate all the things!","timestamp":1568589808}
{"message":"Automate all the things!","timestamp":1568589808}
{"message":"Automate all the things!","timestamp":1568589808}
{"message":"Automate all the things!","timestamp":1568589808}
{"message":"Automate all the things!","timestamp":1568589808}
{"message":"Automate all the things!","timestamp":1568589808}
{"message":"Automate all the things!","timestamp":1568589809}
{"message":"Automate all the things!","timestamp":1568589809}
{"message":"Automate all the things!","timestamp":1568589809}
{"message":"Automate all the things!","timestamp":1568589809}
{"message":"Automate all the things!","timestamp":1568589809}
{"message":"Automate all the things!","timestamp":1568589809}
{"message":"Automate all the things!","timestamp":1568589809}
{"message":"Automate all the things!","timestamp":1568589809}
{"message":"Automate all the things!","timestamp":1568589810}
{"message":"Automate all the things!","timestamp":1568589810}
{"message":"Automate all the things!","timestamp":1568589810}
{"message":"Automate all the things!","timestamp":1568589810}
{"message":"Automate all the things!","timestamp":1568589810}
{"message":"Automate all the things!","timestamp":1568589810}
{"message":"Automate all the things!","timestamp":1568589810}
{"message":"Automate all the things!","timestamp":1568589811}
{"message":"Automate all the things!","timestamp":1568589811}
{"message":"Automate all the things!","timestamp":1568589811}
{"message":"Automate all the things!","timestamp":1568589811}
{"message":"Automate all the things!","timestamp":1568589811}
{"message":"Automate all the things!","timestamp":1568589811}
{"message":"Automate all the things!","timestamp":1568589811}
{"message":"Automate all the things!","timestamp":1568589812}
{"message":"Automate all the things!","timestamp":1568589812}
{"message":"Automate all the things!","timestamp":1568589812}
{"message":"Automate all the things!","timestamp":1568589812}
{"message":"Automate all the things!","timestamp":1568589812}
{"message":"Automate all the things!","timestamp":1568589812}
{"message":"Automate all the things!","timestamp":1568589813}
{"message":"Automate all the things!","timestamp":1568589814}
{"message":"Automate all the things!","timestamp":1568589814}
{"message":"Automate all the things!","timestamp":1568589814}
{"message":"Automate all the things!","timestamp":1568589814}
{"message":"Automate all the things!","timestamp":1568589814}
{"message":"Automate all the things!","timestamp":1568589814}
{"message":"Automate all the things!","timestamp":1568589814}
##
{"message":"Automate all the things!","timestamp":1568589815}
{"message":"Automate all the things!","timestamp":1568589815}
{"message":"Automate all the things!","timestamp":1568589815}
{"message":"Automate all the things!","timestamp":1568589815}
{"message":"Automate all the things!","timestamp":1568589815}
{"message":"Automate all the things!","timestamp":1568589815}
{"message":"Automate all the things!","timestamp":1568589815}
{"message":"Automate all the things!","timestamp":1568589816}
{"message":"Automate all the things!","timestamp":1568589816}
{"message":"Automate all the things!","timestamp":1568589816}
{"message":"Automate all the things!","timestamp":1568589816}
{"message":"Automate all the things!","timestamp":1568589816}
{"message":"Automate all the things!","timestamp":1568589816}
{"message":"Automate all the things!","timestamp":1568589816}
{"message":"Automate all the things!","timestamp":1568589817}
{"message":"Automate all the things!","timestamp":1568589817}
{"message":"Automate all the things!","timestamp":1568589817}
{"message":"Automate all the things!","timestamp":1568589817}
{"message":"Automate all the things!","timestamp":1568589817}
{"message":"Automate all the things!","timestamp":1568589817}
{"message":"Automate all the things!","timestamp":1568589817}
{"message":"Automate all the things!","timestamp":1568589818}
{"message":"Automate all the things!","timestamp":1568589818}
{"message":"Automate all the things!","timestamp":1568589818}
{"message":"Automate all the things!","timestamp":1568589818}
{"message":"Automate all the things!","timestamp":1568589818}
{"message":"Automate all the things!","timestamp":1568589818}
{"message":"Automate all the things!","timestamp":1568589818}
{"message":"Automate all the things!","timestamp":1568589818}
{"message":"Automate all the things!","timestamp":1568589819}
{"message":"Automate all the things!","timestamp":1568589819}
{"message":"Automate all the things!","timestamp":1568589819}
{"message":"Automate all the things!","timestamp":1568589819}
Finished! The following host record can be added to test this yourself:
35.222.184.193 hello-world-gke.app
Once this is added, you can hit https://hello-world-gke.app in your browser.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment