The following applications are required for the workshop. Please đ ensure access and/or installation of recent versions ahead of time
Name | Description | Required? | |
---|---|---|---|
OCI Tenancy | âšī¸ | Access to Oracle Cloud Infrastructure console and resources | â 1 |
Docker | âšī¸ | Docker engine including Kubernetes and kubectl |
â |
Helm | âšī¸ | Kubernetes Package Manager | â |
OCI Command Line | Oracle Cloud Infrastructure command line interface | â 2 | |
svcat | âšī¸ | Kubernetes Service Catalog CLI | |
JSON CLI Processor | Command line utility for parsing JSON outputs | ||
PowerShell or cmder | Windows command line shell | â 3 |
1Tenancy access may or may not be provided. Plan to use your own.
2OCI command line is required if using an OKE cluster.
3Required for Windows users.
When a tenancy is created, an Administrators group is automatically created for the tenancy. Users that are members of the default Administrators group can perform any operation on resources in the tenancy.
OCID
OCID
Allow group <GroupName> to manage all-resources in compartment <CompartmentName>
â ī¸ This policy is intentionally broad for the sake of simplicity, and is not recommended in most real-world use cases. Refer to the Documentation for more on this topic.
Service | Description | Requirement |
---|---|---|
Database | Autonomous Transaction Processing OCPU Count | >=1 |
Streaming | Partition Count |
>=1 â ī¸ Default is 0 for Trial Tenancies |
âšī¸ This does not include requirements in cases where OKE is used. If using an OKE cluster, please refer to OKE Instructions
region: # Region where resources will be provisioned. (ex: us-phoenix-1)
tenancy: # Tenancy OCID value
user: # API User OCID value
compartment: # Compartment OCID value
key: # Private API Key file path (ex: /Users/jdoe/.oci/oci_key.pem)
fingerprint: # Public API Key fingerprint (ex: 43:65:2c...)
âšī¸ It is also recommeded to configure the OCI Command Line with using these values. Refer the Documentation on CLI configuration .
Several exercises in the workshop require the use of Docker & Kubernetes. Please follow these instructions to setup your environment.
kubectl
â ī¸ Docker Desktop for Windows requires Hyper-V
support.
There are several options available, please choose accordingly.
Windows users must select the option for Linux containers.
âšī¸ This also installs the kubectl
CLI
Hyper-V
âšī¸ If using a local K8s cluster presents an inconvenience, it is recommended
to setup an OKE cluster instead. In this situation,
a local installation of the Kubernetes command line:
kubectl
is also necessary.
kubectl
is installed
kubectl
context
kubectl config current-context
kubectl
namespace to skip adding --namespace <name>
to every command:
TIP: use kubens to switch namespace easily & often from the command line
kubectl create namespace mushop
kubectl config set-context \
--current --namespace=mushop
kubectl create namespace <your_name>
kubectl config set-context \
--current --namespace=<your_name>
As an alternative to a local Kubernetes cluster, you may wish to utilize an OKE cluster. Please follow these instructions to setup an OKE cluster.
kubectl
Allow service OKE to manage all-resources in tenancy
kubectl
command line tool with
mkdir -p $HOME/.kube
oci ce cluster create-kubeconfig --cluster-id ocid1.cluster.oc1.phx.aaaaaaaaae3dgnlgmqzgczjsg4zgeyjzhfsggmrvmi3ggobwgczgezlcgrsg --file $HOME/.kube/config --region us-phoenix-1
export KUBECONFIG=$HOME/.kube/config
kubectl proxy
Open http://localhost:8001/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/
Install Homebrew, a MacOS package manager, if not yet installed
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
Install Helm using this command. Will also install the optional svcat cli
brew update && brew install kubernetes-helm kubernetes-service-catalog-client
Check if you have helm installed on the local K8s (Docker Desktop)
helm version
The Helm version command should give result similar to this:
> helm version
Client: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
If you receive an error that helm could not find tiller pod on the server, do this:
helm init --history-max 200
Install Chocolatey, a Windows package manager, if not yet installed
Install Helm using this command
choco install kubernetes-helm
Check if you have helm installed on the local K8s (Docker Desktop)
helm version
The Helm version command should give result similar to this:
c:\ helm version
Client: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.14.3", GitCommit:"0e7f3b6637f7af8fcfddb3d2941fcc7cbebb0085", GitTreeState:"clean"}
If you receive an error that helm could not find tiller pod on the server, do this:
helm init --history-max 200
Install the svcat cli:
iwr 'https://download.svcat.sh/cli/latest/windows/amd64/svcat.exe' -UseBasicParsing -OutFile svcat.exe
mkdir -f ~\bin
$env:PATH += ";${pwd}\bin"
svcat version --client
Or download the binary directly and make executable: svcat.exe download