mirror of https://github.com/crossplane/docs.git
docs snapshot for crossplane version `master`
This commit is contained in:
parent
e8af622e66
commit
e20eee5ec0
|
@ -18,8 +18,8 @@ The steps to follow below are from the [AWS SDK for GO](https://docs.aws.amazon.
|
|||
1. Choose your IAM user name (not the check box).
|
||||
1. Open the Security credentials tab, and then choose Create access key.
|
||||
1. To see the new access key, choose Show. Your credentials resemble the following:
|
||||
- Access key ID: AKIAIOSFODNN7EXAMPLE
|
||||
- Secret access key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
|
||||
- Access key ID: AKIAIOSFODNN7EXAMPLE
|
||||
- Secret access key: wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
|
||||
1. To download the key pair, choose Download .csv file.
|
||||
|
||||
Then convert the `*.csv` file to the below format and save it to `~/.aws/credentials`:
|
||||
|
|
|
@ -58,42 +58,42 @@ Create a GCP example project which we will use to host our example GKE cluster,
|
|||
- Login into [GCP Console](https://console.cloud.google.com)
|
||||
- Create a new project (either stand alone or under existing organization)
|
||||
- Create Example Service Account
|
||||
- Navigate to: [Create Service Account](https://console.cloud.google.com/iam-admin/serviceaccounts)
|
||||
- `Service Account Name`: type "example"
|
||||
- `Service Account ID`: leave auto assigned
|
||||
- `Service Account Description`: type "Crossplane example"
|
||||
- Click `Create` button
|
||||
- This should advance to the next section `2 Grant this service account to project (optional)`
|
||||
- We will assign this account 3 roles:
|
||||
- `Service Account User`
|
||||
- `Cloud SQL Admin`
|
||||
- `Kubernetes Engine Admin`
|
||||
- Click `Create` button
|
||||
- This should advance to the next section `3 Grant users access to this service account (optional)`
|
||||
- We don't need to assign any user or admin roles to this account for the example purposes, so you can leave following two fields blank:
|
||||
- `Service account users role`
|
||||
- `Service account admins role`
|
||||
- Next, we will create and export service account key
|
||||
- Click `+ Create Key` button.
|
||||
- This should open a `Create Key` side panel
|
||||
- Select `json` for the Key type (should be selected by default)
|
||||
- Click `Create`
|
||||
- This should show `Private key saved to your computer` confirmation dialog
|
||||
- You also should see `crossplane-example-1234-[suffix].json` file in your browser's Download directory
|
||||
- Save (copy or move) this file into example (this) directory, with new name `crossplane-gcp-provider-key.json`
|
||||
- Navigate to: [Create Service Account](https://console.cloud.google.com/iam-admin/serviceaccounts)
|
||||
- `Service Account Name`: type "example"
|
||||
- `Service Account ID`: leave auto assigned
|
||||
- `Service Account Description`: type "Crossplane example"
|
||||
- Click `Create` button
|
||||
- This should advance to the next section `2 Grant this service account to project (optional)`
|
||||
- We will assign this account 3 roles:
|
||||
- `Service Account User`
|
||||
- `Cloud SQL Admin`
|
||||
- `Kubernetes Engine Admin`
|
||||
- Click `Create` button
|
||||
- This should advance to the next section `3 Grant users access to this service account (optional)`
|
||||
- We don't need to assign any user or admin roles to this account for the example purposes, so you can leave following two fields blank:
|
||||
- `Service account users role`
|
||||
- `Service account admins role`
|
||||
- Next, we will create and export service account key
|
||||
- Click `+ Create Key` button.
|
||||
- This should open a `Create Key` side panel
|
||||
- Select `json` for the Key type (should be selected by default)
|
||||
- Click `Create`
|
||||
- This should show `Private key saved to your computer` confirmation dialog
|
||||
- You also should see `crossplane-example-1234-[suffix].json` file in your browser's Download directory
|
||||
- Save (copy or move) this file into example (this) directory, with new name `crossplane-gcp-provider-key.json`
|
||||
- Enable `Cloud SQL API`
|
||||
- Navigate to [Cloud SQL Admin API](https://console.developers.google.com/apis/api/sqladmin.googleapis.com/overview)
|
||||
- Click `Enable`
|
||||
- Navigate to [Cloud SQL Admin API](https://console.developers.google.com/apis/api/sqladmin.googleapis.com/overview)
|
||||
- Click `Enable`
|
||||
- Enable `Kubernetes Engine API`
|
||||
- Navigate to [Kubernetes Engine API](https://console.developers.google.com/apis/api/container.googleapis.com/overview)
|
||||
- Click `Enable`
|
||||
- Navigate to [Kubernetes Engine API](https://console.developers.google.com/apis/api/container.googleapis.com/overview)
|
||||
- Click `Enable`
|
||||
|
||||
## Enable Billing
|
||||
|
||||
No matter what option you chose to configure the previous steps, you will need to enable billing for your account in order to create and use Kubernetes clusters with GKE.
|
||||
|
||||
- Go to [GCP Console](https://console.cloud.google.com)
|
||||
- Select example project
|
||||
- Click `Enable Billing`
|
||||
- Select example project
|
||||
- Click `Enable Billing`
|
||||
- Go to [Kubernetes Clusters](https://console.cloud.google.com/kubernetes/list)
|
||||
- Click `Enable Billing`
|
||||
- Click `Enable Billing`
|
||||
|
|
|
@ -132,5 +132,5 @@ This `Workload` definition contains multiple components that informs Crossplane
|
|||
- TargetCluster: the cluster where the payload application and all its requirements should be deployed
|
||||
- TargetNamespace: the namespace on the target cluster
|
||||
- Workload Payload:
|
||||
- TargetDeployment
|
||||
- TargetService
|
||||
- TargetDeployment
|
||||
- TargetService
|
||||
|
|
|
@ -31,28 +31,28 @@ For the next steps, make sure your `kubectl` context points to the cluster where
|
|||
|
||||
- Create the Azure provider object in your cluster:
|
||||
|
||||
```console
|
||||
sed "s/BASE64ENCODED_AZURE_PROVIDER_CREDS/`cat crossplane-azure-provider-key.json|base64|tr -d '\n'`/g;" cluster/examples/workloads/wordpress-azure/provider.yaml | kubectl create -f -
|
||||
```
|
||||
```console
|
||||
sed "s/BASE64ENCODED_AZURE_PROVIDER_CREDS/`cat crossplane-azure-provider-key.json|base64|tr -d '\n'`/g;" cluster/examples/workloads/wordpress-azure/provider.yaml | kubectl create -f -
|
||||
```
|
||||
|
||||
- Next, create the AKS cluster that will eventually be the target cluster for your Workload deployment:
|
||||
|
||||
```console
|
||||
kubectl create -f cluster/examples/workloads/wordpress-azure/cluster.yaml
|
||||
```
|
||||
```console
|
||||
kubectl create -f cluster/examples/workloads/wordpress-azure/cluster.yaml
|
||||
```
|
||||
|
||||
It will take a while (~15 minutes) for the AKS cluster to be deployed and becoming ready. You can keep an eye on its status with the following command:
|
||||
It will take a while (~15 minutes) for the AKS cluster to be deployed and becoming ready. You can keep an eye on its status with the following command:
|
||||
|
||||
```console
|
||||
kubectl -n crossplane-system get akscluster -o custom-columns=NAME:.metadata.name,STATE:.status.state,CLUSTERNAME:.status.clusterName,ENDPOINT:.status.endpoint,LOCATION:.spec.location,CLUSTERCLASS:.spec.classRef.name,RECLAIMPOLICY:.spec.reclaimPolicy
|
||||
```
|
||||
```console
|
||||
kubectl -n crossplane-system get akscluster -o custom-columns=NAME:.metadata.name,STATE:.status.state,CLUSTERNAME:.status.clusterName,ENDPOINT:.status.endpoint,LOCATION:.spec.location,CLUSTERCLASS:.spec.classRef.name,RECLAIMPOLICY:.spec.reclaimPolicy
|
||||
```
|
||||
|
||||
Once the cluster is done provisioning, you should see output similar to the following (note the `STATE` field is `Succeeded` and the `ENDPOINT` field has a value):
|
||||
Once the cluster is done provisioning, you should see output similar to the following (note the `STATE` field is `Succeeded` and the `ENDPOINT` field has a value):
|
||||
|
||||
```console
|
||||
NAME STATE CLUSTERNAME ENDPOINT LOCATION CLUSTERCLASS RECLAIMPOLICY
|
||||
aks-587762b3-f72b-11e8-bcbe-0800278fedb1 Succeeded aks-587762b3-f72b-11e8-bcbe-080 crossplane-aks-653c32ef.hcp.centralus.azmk8s.io Central US standard-cluster Delete
|
||||
```
|
||||
```console
|
||||
NAME STATE CLUSTERNAME ENDPOINT LOCATION CLUSTERCLASS RECLAIMPOLICY
|
||||
aks-587762b3-f72b-11e8-bcbe-0800278fedb1 Succeeded aks-587762b3-f72b-11e8-bcbe-080 crossplane-aks-653c32ef.hcp.centralus.azmk8s.io Central US standard-cluster Delete
|
||||
```
|
||||
|
||||
To recap the operations that we just performed as the administrator:
|
||||
|
||||
|
@ -71,42 +71,42 @@ Let's begin deploying the workload as the application developer:
|
|||
|
||||
- Now that the target AKS cluster is ready, we can deploy the Workload that contains all the Wordpress resources, including the SQL database, with the following single command:
|
||||
|
||||
```console
|
||||
kubectl create -f cluster/examples/workloads/wordpress-azure/workload.yaml
|
||||
```
|
||||
```console
|
||||
kubectl create -f cluster/examples/workloads/wordpress-azure/workload.yaml
|
||||
```
|
||||
|
||||
This will also take awhile to complete, since the MySQL database needs to be deployed before the Wordpress pod can consume it.
|
||||
You can follow along with the MySQL database deployment with the following:
|
||||
This will also take awhile to complete, since the MySQL database needs to be deployed before the Wordpress pod can consume it.
|
||||
You can follow along with the MySQL database deployment with the following:
|
||||
|
||||
```console
|
||||
kubectl -n crossplane-system get mysqlserver -o custom-columns=NAME:.metadata.name,STATUS:.status.state,CLASS:.spec.classRef.name,VERSION:.spec.version
|
||||
```
|
||||
```console
|
||||
kubectl -n crossplane-system get mysqlserver -o custom-columns=NAME:.metadata.name,STATUS:.status.state,CLASS:.spec.classRef.name,VERSION:.spec.version
|
||||
```
|
||||
|
||||
Once the `STATUS` column is `Ready` like below, then the Wordpress pod should be able to connect to it:
|
||||
Once the `STATUS` column is `Ready` like below, then the Wordpress pod should be able to connect to it:
|
||||
|
||||
```console
|
||||
NAME STATUS CLASS VERSION
|
||||
mysql-58425bda-f72d-11e8-bcbe-0800278fedb1 Ready standard-mysql 5.7
|
||||
```
|
||||
```console
|
||||
NAME STATUS CLASS VERSION
|
||||
mysql-58425bda-f72d-11e8-bcbe-0800278fedb1 Ready standard-mysql 5.7
|
||||
```
|
||||
|
||||
- Now we can watch the Wordpress pod come online and a public IP address will get assigned to it:
|
||||
|
||||
```console
|
||||
kubectl get workload -o custom-columns=NAME:.metadata.name,CLUSTER:.spec.targetCluster.name,NAMESPACE:.spec.targetNamespace,DEPLOYMENT:.spec.targetDeployment.metadata.name,SERVICE-EXTERNAL-IP:.status.service.loadBalancer.ingress[0].ip
|
||||
```
|
||||
```console
|
||||
kubectl get workload -o custom-columns=NAME:.metadata.name,CLUSTER:.spec.targetCluster.name,NAMESPACE:.spec.targetNamespace,DEPLOYMENT:.spec.targetDeployment.metadata.name,SERVICE-EXTERNAL-IP:.status.service.loadBalancer.ingress[0].ip
|
||||
```
|
||||
|
||||
When a public IP address has been assigned, you'll see output similar to the following:
|
||||
When a public IP address has been assigned, you'll see output similar to the following:
|
||||
|
||||
```console
|
||||
NAME CLUSTER NAMESPACE DEPLOYMENT SERVICE-EXTERNAL-IP
|
||||
test-workload demo-cluster demo wordpress 104.43.240.15
|
||||
```
|
||||
```console
|
||||
NAME CLUSTER NAMESPACE DEPLOYMENT SERVICE-EXTERNAL-IP
|
||||
test-workload demo-cluster demo wordpress 104.43.240.15
|
||||
```
|
||||
|
||||
- Once Wordpress is running and has a public IP address through its service, we can get the URL with the following command:
|
||||
|
||||
```console
|
||||
echo "http://$(kubectl get workload test-workload -o jsonpath='{.status.service.loadBalancer.ingress[0].ip}')"
|
||||
```
|
||||
```console
|
||||
echo "http://$(kubectl get workload test-workload -o jsonpath='{.status.service.loadBalancer.ingress[0].ip}')"
|
||||
```
|
||||
|
||||
- Paste that URL into your browser and you should see Wordpress running and ready for you to walk through the setup experience.
|
||||
|
||||
|
|
|
@ -28,65 +28,85 @@ For the next steps, make sure your `kubectl` context points to the cluster where
|
|||
|
||||
- Export Project ID
|
||||
|
||||
**NOTE** you can skip this step if you generated GCP Service Account using `gcloud`
|
||||
```bash
|
||||
export DEMO_PROJECT_ID=[your-demo-project-id]
|
||||
```
|
||||
**NOTE** you can skip this step if you generated GCP Service Account using `gcloud`
|
||||
```bash
|
||||
export DEMO_PROJECT_ID=[your-demo-project-id]
|
||||
```
|
||||
|
||||
- Patch and Apply `provider.yaml`:
|
||||
|
||||
```bash
|
||||
sed "s/BASE64ENCODED_CREDS/`cat key.json|base64 | tr -d '\n'`/g;s/DEMO_PROJECT_ID/$DEMO_PROJECT_ID/g" cluster/examples/workloads/wordpress-gcp/provider.yaml | kubectl create -f -
|
||||
```
|
||||
|
||||
- Verify that GCP Provider is in `Ready` state
|
||||
|
||||
```bash
|
||||
kubectl -n crossplane-system get providers.gcp.crossplane.io -o custom-columns=NAME:.metadata.name,STATUS:.status.Conditions[0].Type,PROJECT-ID:.spec.projectID
|
||||
```
|
||||
|
||||
Your output should look similar to:
|
||||
```bash
|
||||
sed "s/BASE64ENCODED_CREDS/`cat crossplane-gcp-provider-key.json|base64 | tr -d '\n'`/g;s/DEMO_PROJECT_ID/$DEMO_PROJECT_ID/g" cluster/examples/workloads/wordpress-gcp/provider.yaml | kubectl create -f -
|
||||
```
|
||||
|
||||
- Verify that GCP Provider is in `Ready` state
|
||||
|
||||
```bash
|
||||
sed "s/BASE64ENCODED_CREDS/`cat crossplane-gcp-provider-key.json|base64 | tr -d '\n'`/g;s/DEMO_PROJECT_ID/$DEMO_PROJECT_ID/g" cluster/examples/workloads/wordpress-gcp/provider.yaml | kubectl create -f -
|
||||
```
|
||||
|
||||
- Verify that GCP Provider is in `Ready` state
|
||||
```bash
|
||||
kubectl -n crossplane-system get providers.gcp.crossplane.io -o custom-columns=NAME:.metadata.name,STATUS:.status.Conditions[0].Type,PROJECT-ID:.spec.projectID
|
||||
```
|
||||
Your output should look similar to:
|
||||
```bash
|
||||
NAME STATUS PROJECT-ID
|
||||
gcp-provider Ready [your-project-id]
|
||||
```
|
||||
|
||||
- Verify that Resource Classes have been created
|
||||
```bash
|
||||
kubectl -n crossplane-system get resourceclass -o custom-columns=NAME:metadata.name,PROVISIONER:.provisioner,PROVIDER:.providerRef.name,RECLAIM-POLICY:.reclaimPolicy
|
||||
```
|
||||
Your output should be:
|
||||
```bash
|
||||
NAME PROVISIONER PROVIDER RECLAIM-POLICY
|
||||
standard-cluster gkecluster.compute.gcp.crossplane.io/v1alpha1 gcp-provider Delete
|
||||
standard-mysql cloudsqlinstance.database.gcp.crossplane.io/v1alpha1 gcp-provider Delete
|
||||
```
|
||||
kubectl -n crossplane-system get providers.gcp.crossplane.io -o custom-columns=NAME:.metadata.name,STATUS:.status.Conditions[0].Type,PROJECT-ID:.spec.projectID
|
||||
```
|
||||
|
||||
Your output should look similar to:
|
||||
```bash
|
||||
NAME STATUS PROJECT-ID
|
||||
gcp-provider Ready [your-project-id]
|
||||
```
|
||||
|
||||
- Verify that Resource Classes have been created
|
||||
|
||||
```bash
|
||||
kubectl -n crossplane-system get resourceclass -o custom-columns=NAME:metadata.name,PROVISIONER:.provisioner,PROVIDER:.providerRef.name,RECLAIM-POLICY:.reclaimPolicy
|
||||
```
|
||||
|
||||
Your output should be:
|
||||
```bash
|
||||
NAME PROVISIONER PROVIDER RECLAIM-POLICY
|
||||
standard-cluster gkecluster.compute.gcp.crossplane.io/v1alpha1 gcp-provider Delete
|
||||
standard-mysql cloudsqlinstance.database.gcp.crossplane.io/v1alpha1 gcp-provider Delete
|
||||
```
|
||||
|
||||
- Create a target Kubernetes cluster where `Application Owner(s)` will deploy their `WorkLoad(s)`
|
||||
|
||||
As administrator, you will create a Kubernetes cluster leveraging the Kubernetes cluster `ResourceClass` that was created earlier and
|
||||
`Crossplane` Kubernetes cluster dynamic provisioning.
|
||||
```bash
|
||||
kubectl apply -f cluster/examples/workloads/wordpress-gcp/kubernetes.yaml
|
||||
```
|
||||
|
||||
- Verify that Kubernetes Cluster resource was created
|
||||
```bash
|
||||
kubectl -n crossplane-system get kubernetescluster -o custom-columns=NAME:.metadata.name,CLUSTERCLASS:.spec.classReference.name,CLUSTERREF:.spec.resourceName.name
|
||||
```
|
||||
|
||||
Your output should look similar to:
|
||||
```bash
|
||||
NAME CLUSTERCLASS CLUSTERREF
|
||||
demo-gke-cluster standard-cluster gke-67419e79-f5b3-11e8-9cec-9cb6d08bde99
|
||||
```
|
||||
As administrator, you will create a Kubernetes cluster leveraging the Kubernetes cluster `ResourceClass` that was created earlier and
|
||||
`Crossplane` Kubernetes cluster dynamic provisioning.
|
||||
|
||||
```bash
|
||||
kubectl apply -f cluster/examples/workloads/wordpress-gcp/kubernetes.yaml
|
||||
```
|
||||
|
||||
- Verify that the target GKE cluster was successfully created
|
||||
```bash
|
||||
kubectl -n crossplane-system get gkecluster -o custom-columns=NAME:.metadata.name,STATE:.status.state,CLUSTERNAME:.status.clusterName,ENDPOINT:.status.endpoint,LOCATION:.spec.zone,CLUSTERCLASS:.spec.classRef.name,RECLAIMPOLICY:.spec.reclaimPolicy
|
||||
```
|
||||
|
||||
Your output should look similar to:
|
||||
```bash
|
||||
NAME STATE CLUSTERNAME ENDPOINT LOCATION CLUSTERCLASS RECLAIMPOLICY
|
||||
gke-67419e79-f5b3-11e8-9cec-9cb6d08bde99 RUNNING gke-6742fe8d-f5b3-11e8-9cec-9cb6d08bde99 146.148.93.40 us-central1-a standard-cluster Delete
|
||||
```
|
||||
- Verify that Kubernetes Cluster resource was created
|
||||
|
||||
```bash
|
||||
kubectl -n crossplane-system get kubernetescluster -o custom-columns=NAME:.metadata.name,CLUSTERCLASS:.spec.classReference.name,CLUSTERREF:.spec.resourceName.name
|
||||
```
|
||||
|
||||
Your output should look similar to:
|
||||
```bash
|
||||
NAME CLUSTERCLASS CLUSTERREF
|
||||
demo-gke-cluster standard-cluster gke-67419e79-f5b3-11e8-9cec-9cb6d08bde99
|
||||
```
|
||||
|
||||
- Verify that the target GKE cluster was successfully created
|
||||
|
||||
```bash
|
||||
kubectl -n crossplane-system get gkecluster -o custom-columns=NAME:.metadata.name,STATE:.status.state,CLUSTERNAME:.status.clusterName,ENDPOINT:.status.endpoint,LOCATION:.spec.zone,CLUSTERCLASS:.spec.classRef.name,RECLAIMPOLICY:.spec.reclaimPolicy
|
||||
```
|
||||
|
||||
Your output should look similar to:
|
||||
```bash
|
||||
NAME STATE CLUSTERNAME ENDPOINT LOCATION CLUSTERCLASS RECLAIMPOLICY
|
||||
gke-67419e79-f5b3-11e8-9cec-9cb6d08bde99 RUNNING gke-6742fe8d-f5b3-11e8-9cec-9cb6d08bde99 146.148.93.40 us-central1-a standard-cluster Delete
|
||||
```
|
||||
|
||||
To recap the operations that we just performed as the administrator:
|
||||
|
||||
|
@ -104,42 +124,48 @@ This section covers the tasks performed by the application developer, which incl
|
|||
Let's begin deploying the workload as the application developer:
|
||||
|
||||
- Deploy workload
|
||||
```bash
|
||||
kubectl apply -f cluster/examples/workloads/wordpress-gcp/workload.yaml
|
||||
```
|
||||
|
||||
```bash
|
||||
kubectl apply -f cluster/examples/workloads/wordpress-gcp/workload.yaml
|
||||
```
|
||||
|
||||
- Wait for `MySQLInstance` to be in `Bound` State
|
||||
|
||||
You can check the status via:
|
||||
```bash
|
||||
kubectl get mysqlinstance -o custom-columns=NAME:.metadata.name,VERSION:.spec.engineVersion,STATE:.status.bindingPhase,CLASS:.spec.classReference.name
|
||||
```
|
||||
Your output should look like:
|
||||
```bash
|
||||
NAME VERSION STATE CLASS
|
||||
demo 5.7 Bound standard-mysql
|
||||
```
|
||||
|
||||
**Note**: to check on the concrete resource type status as `Administrator` you can run:
|
||||
```bash
|
||||
kubectl -n crossplane-system get cloudsqlinstance -o custom-columns=NAME:.metadata.name,STATUS:.status.state,CLASS:.spec.classRef.name,VERSION:.spec.databaseVersion
|
||||
```
|
||||
Your output should be similar to:
|
||||
```bash
|
||||
NAME STATUS CLASS VERSION
|
||||
mysql-2fea0d8e-f5bb-11e8-9cec-9cb6d08bde99 RUNNABLE standard-mysql MYSQL_5_7
|
||||
```
|
||||
You can check the status via:
|
||||
```bash
|
||||
kubectl get mysqlinstance -o custom-columns=NAME:.metadata.name,VERSION:.spec.engineVersion,STATE:.status.bindingPhase,CLASS:.spec.classReference.name
|
||||
```
|
||||
|
||||
Your output should look like:
|
||||
```bash
|
||||
NAME VERSION STATE CLASS
|
||||
demo 5.7 Bound standard-mysql
|
||||
```
|
||||
|
||||
**Note**: to check on the concrete resource type status as `Administrator` you can run:
|
||||
|
||||
```bash
|
||||
kubectl -n crossplane-system get cloudsqlinstance -o custom-columns=NAME:.metadata.name,STATUS:.status.state,CLASS:.spec.classRef.name,VERSION:.spec.databaseVersion
|
||||
```
|
||||
|
||||
Your output should be similar to:
|
||||
```bash
|
||||
NAME STATUS CLASS VERSION
|
||||
mysql-2fea0d8e-f5bb-11e8-9cec-9cb6d08bde99 RUNNABLE standard-mysql MYSQL_5_7
|
||||
```
|
||||
|
||||
- Wait for `Workload` External IP Address
|
||||
```bash
|
||||
kubectl get workload -o custom-columns=NAME:.metadata.name,CLUSTER:.spec.targetCluster.name,NAMESPACE:.spec.targetNamespace,DEPLOYMENT:.spec.targetDeployment.metadata.name,SERVICE-EXTERNAL-IP:.status.service.loadBalancer.ingress[0].ip
|
||||
```
|
||||
**Note** the `Workload` is defined in Application Owner's (`default`) namespace
|
||||
|
||||
Your output should look similar to:
|
||||
```bash
|
||||
NAME CLUSTER NAMESPACE DEPLOYMENT SERVICE-EXTERNAL-IP
|
||||
demo demo-gke-cluster demo wordpress 35.193.100.113
|
||||
```
|
||||
|
||||
```bash
|
||||
kubectl get workload -o custom-columns=NAME:.metadata.name,CLUSTER:.spec.targetCluster.name,NAMESPACE:.spec.targetNamespace,DEPLOYMENT:.spec.targetDeployment.metadata.name,SERVICE-EXTERNAL-IP:.status.service.loadBalancer.ingress[0].ip
|
||||
```
|
||||
**Note** the `Workload` is defined in Application Owner's (`default`) namespace
|
||||
|
||||
Your output should look similar to:
|
||||
```bash
|
||||
NAME CLUSTER NAMESPACE DEPLOYMENT SERVICE-EXTERNAL-IP
|
||||
demo demo-gke-cluster demo wordpress 35.193.100.113
|
||||
```
|
||||
|
||||
- Verify that `WordPress` service is accessible via `SERVICE-EXTERNAL-IP` by:
|
||||
- Navigate in your browser to `SERVICE-EXTERNAL-IP`
|
||||
|
@ -150,26 +176,30 @@ At this point, you should see the setup page for WordPress in your web browser.
|
|||
|
||||
Once you are done with this example, you can clean up all its artifacts with the following commands:
|
||||
|
||||
- Remove `Workload`
|
||||
```bash
|
||||
kubectl delete -f cluster/examples/workloads/wordpress-gcp/workload.yaml
|
||||
```
|
||||
- Remove `Workload`
|
||||
|
||||
```bash
|
||||
kubectl delete -f cluster/examples/workloads/wordpress-gcp/workload.yaml
|
||||
```
|
||||
|
||||
- Remove `KubernetesCluster`
|
||||
```bash
|
||||
kubectl delete -f cluster/examples/workloads/wordpress-gcp/kubernetes.yaml
|
||||
```
|
||||
|
||||
```bash
|
||||
kubectl delete -f cluster/examples/workloads/wordpress-gcp/kubernetes.yaml
|
||||
```
|
||||
|
||||
- Remove GCP `Provider` and `ResourceClasses`
|
||||
```bash
|
||||
kubectl delete -f cluster/examples/workloads/wordpress-gcp/provider.yaml
|
||||
```
|
||||
|
||||
```bash
|
||||
kubectl delete -f cluster/examples/workloads/wordpress-gcp/provider.yaml
|
||||
```
|
||||
|
||||
- Delete Google Project
|
||||
```bash
|
||||
# list all your projects
|
||||
gcloud projects list
|
||||
|
||||
# delete demo project
|
||||
gcloud projects delete [demo-project-id]
|
||||
```
|
||||
```bash
|
||||
# list all your projects
|
||||
gcloud projects list
|
||||
|
||||
# delete demo project
|
||||
gcloud projects delete [demo-project-id]
|
||||
```
|
||||
|
|
Loading…
Reference in New Issue