If you do not have a Google Cloud account, you will need to create one at https://cloud.google.com/.
Kazuhm will create the Google resources required based on your provisioning decisions (see below).
The site where you will make all changes in Google Cloud is at https://console.cloud.google.com/.
In order for Kazuhm to provision a Kubernetes cluster on Google Cloud a service account with sufficient access is required. To create this account, at a minimum, you must have the following user roles:
- Service Account Admin (roles/iam.serviceAccountAdmin) or Editor primitive role (roles/editor).
- Service Account Key Admin role (roles/iam.serviceAccountKeyAdmin) to create service account keys for the account to be used outside of the Google Cloud Platform.
Create Service Account Key
In the Google console, open the Service Accounts page
- Click Select a project.
- Select your project and click Open.
- Click CREATE SERVICE ACCOUNT.
- Enter a service account name, for example Kazuhm.
- Grant the following roles to the service account:
- Under Kubernetes Engine, select Kubernetes Engine Admin.
- Under Service Accounts, select Service Account User.
- Under Compute Engine, select Compute Admin.
- Click CREATE KEY and select the JSON key type.
- Click CREATE.
- Once the key is created, "Private key saved to your computer" displays, and a JSON file downloaded onto your local machine.
Kazuhm requires Compute Engine API Enabled
and Kubernetes Engine API Enabled.
From Host Management, Add Host, selecting Google Kubernetes Engine.
You will be asked "Allow Kazuhm to access your Google Kubernetes Engine account?" and prompted to "Choose File".
The previously downloaded JSON file should be selected.
* If the Compute Engine API has not yet been enabled an error will display and a link to your Google Cloud Console provided to enable it.
Followed by entering Host details.
Name - A meaningful name that follows Google Cloud nomenclature standards.
Zone - Zone where your virtual machines (VMs) will be hosted. It should be noted that different regions may have access to unique VM templates which are charged at varying rates. For more information, please refer to Google Compute Engine Pricing.
Number of nodes - Number of nodes based on your own sizing requirements. It is important to note that there are inherent limits to the size of a Kubernetes cluster and we suggest reading Building Large Clusters and Quotas & Limits for more information.
Machine type - Machine type based on your own sizing requirements. Each cluster can only have a single machine type and this is currently restricted to CPU only and NVIDIA GPU, e.g. Tesla K80 and P100, are unavailable for use. Also the Image (OS) of the nodes in the cluster is restricted to Container-Optimized OS (default) or Ubuntu.
On Create instance provisioning will start.
* If the Kubernetes Engine API has not yet been enabled an error will display and a link to your Google Cloud Console provided to enable it.
Progress can be followed from your GCP Console and in Host Group (which is automatically created - see below).
On completion your newly added GKE Host Group will be Connected
and the hosts will list in Host Management.
Note - x.y Total CPUs is possible as we use allocated CPU rather than total installed CPU.
Connect to Host Group
Clicking Connect will provide the command to access your GKE host group.
Please not that this command is intended for use via the gcloud command-line interface, a tool that provides the primary CLI to the Google Cloud Platform.
Deleting the Host Group (see image above) will delete all constituent GKE hosts AND terminate the associated cloud instances.
Users will not be able to control the deployment of their Kubernetes clusters, i.e. manipulate the types of container, the number of containers per host, etc.
Users will not be able to modify their clusters from the Kazuhm interface, including adding or removing nodes from a cluster, changing the properties of your VMs such as resizing them.
Please refer to FAQs - How do I troubleshoot GKE Hosts?