Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added Service Catalog tutorial #988

Merged
merged 3 commits into from
Mar 13, 2019

Conversation

arapulido
Copy link
Contributor

Added a how-to guide on installing and using the Service Catalog with Kubeapps.

Copy link
Contributor

@andresmgot andresmgot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The content looks good to me! I have some minor suggestions.

the following:

```
helm repo add svc-cat https://svc-catalog-charts.storage.googleapis.com
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't you prefer to explain how to install the svc catalog through kubeapps?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, we include it by default, but maybe it's more steps to describe whereas the CLI commands are easy to copy

page regularly to check on the progress. Provisioning an Azure MySQL instance
takes around 10-15 minutes.

![Azure MySQL provisioning](../img/azure-mysql-provisioning.png)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it would be more helpful a screenshot of a successful provision, that way the users can compare if something has gone wrong.

to the Azure MySQL database:

```
k logs wordpress-app-wordpress-597b9dbb5-2rk4k
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think is better to use the full kubectl name here

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍, clearer to use the full command name

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

oops 🤣

Click on `Deploy` and modify the following values:

```
env.open.STORAGE: google
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

maybe it's better to copy here a YAML snippet that users can paste in Kubeapps directly? (instead of looking for the specific fields)

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

mmm, I am not sure. The problem is that in Kubeapps, the default behaviour (I believe) is to go through the values.yaml and replace the values you want to replace, rather than replacing the whole values.yaml. Those values are in very different places, so adding the full values.yaml would be too big. What do you think?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, what I meant is, to avoid having to navigate through the whole values.yaml, tell the user something like:

Replace the default values.yaml with the following snippet and fill it with the values from the service binding:

env:
  open:
    STORAGE: google
    STORAGE_GOOGLE_BUCKET: <name of the created bucket in the instance>
...

There is no need to specify the whole values.yaml, specifying just those fields will have the same effect.

Copy link
Contributor

@prydonius prydonius left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks so much for writing this up, this is great! Just some grammatical stuff :)


## Service Catalog and Kubeapps

Kubeapps has native integration with the Service Catalog and allow Kubeapps users
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Kubeapps has native integration with the Service Catalog and allow Kubeapps users
Kubeapps has native integration with the Service Catalog and allows Kubeapps users


In this tutorial we will explain how to deploy the Service Catalog into your cluster,
we will configure two Service Brokers (GCP and Azure) and we will provision some
cloud services that then will use in other applications.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
cloud services that then will use in other applications.
cloud services that we will then use in other applications.

the following:

```
helm repo add svc-cat https://svc-catalog-charts.storage.googleapis.com
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

+1, we include it by default, but maybe it's more steps to describe whereas the CLI commands are easy to copy


Once you have your account set up, follow the instructions at https://cloud.google.com/kubernetes-engine/docs/how-to/add-on/service-catalog/install-service-catalog.
You can skip the part of deploying the Service Catalog (which we already deployed
using the Helm Chart). Although the instructions mention GKE, those should work
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
using the Helm Chart). Although the instructions mention GKE, those should work
using the Helm Chart). Although the instructions mention GKE, they should work

be OK). Creating a new binding should be very fast.

Once the binding creation has been completed, the details of the created
secret can be explored directly from the same page, clicking on `show`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should probably add a note here telling the user to note down the credentials, as we'll use them in the next step.

to the Azure MySQL database:

```
k logs wordpress-app-wordpress-597b9dbb5-2rk4k
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍, clearer to use the full command name


![Google Cloud Storage options](../img/gcp-storage-options.png)

Once provisioned, we will add a binding clicking on `Add binding`:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Once provisioned, we will add a binding clicking on `Add binding`:
Once provisioned, click on `Add binding` to create a binding:

![Google Cloud Storage binding options](../img/gcp-storage-binding-options.png)

That will create a new service account in your GCP project with the right
persmissions to access the bucket.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
persmissions to access the bucket.
permissions to access the bucket.

persmissions to access the bucket.

Once the binding creation has been completed, the details of the created
secret can be explored directly from the same page, clicking on `show`.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Again, we should probably tell the user to note down the credentials for the next step.


As ChartMuseum expects the format of the authentication information contained
in the JSON, it is only needed to specify the key of the secret that contains
that JSON (in our case `privateKeyData`)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
that JSON (in our case `privateKeyData`)
that JSON (in our case `privateKeyData`).

@arapulido
Copy link
Contributor Author

arapulido commented Mar 13, 2019 via email

@arapulido arapulido merged commit 5930595 into vmware-tanzu:master Mar 13, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants