Install the list of tools below
- VirtualBox
- Docker
- kubectl
- KIND (Kubernetes in Docker)
- aws cli
- eksctl
VirtualBox is a general-purpose full virtualization for x86 hardware.
Check to make sure your laptop supports virtualization
Link to supported platforms
https://www.virtualbox.org/manual/UserManual.html#hostossupport
CLI example on Mac
sysctl -a | grep -E --color 'machdep.cpu.features|VMX'Download and install Virtualbox for your Operating System
Download and run a Virtualbox image
There are many options when working with Virtualbox
- Vagrant
- OS Boxes
- Manual - Download a copy of an OS and run through creating your first VM
Docker is an open source container runtime
- Docker Hub account
- See the install for system requirements for your operating system.
Download Docker for your operating system
docker --version
docker run hello-world
kubectl is the main entry point into the kubernetes API.
You must use a kubectl version that is within one minor version difference of your cluster. For example, a v1.2 client should work with v1.1, v1.2, and v1.3 master. Using the latest version of kubectl helps avoid unforeseen issues.
See Install
kubectl version
- Docker
https://kind.sigs.k8s.io/docs/user/quick-start
https://kind.sigs.k8s.io/docs/user/quick-start
kind create cluster
AWS CLI is one of the ways to programmatically access your AWS resources.
- Python
See Install
aws --version
aws-cli/1.16.290 Python/3.7.5 Darwin/19.2.0 botocore/1.13.26
eksctl is a CLI tool created by weave to help manage kubernetes clusters on AWS easily.
- AWS CLI
See Install
https://eksctl.io/introduction/installation/
eksctl version
eksctl create cluster
A cluster will be created with default parameters
- exciting auto-generated name, e.g. “fabulous-mushroom-1527688624”
- 2x m5.large nodes (this instance type suits most common use-cases, and is good value for money)
- use official AWS EKS AMI
- us-west-2 region
- dedicated VPC (check your quotas)
- using static AMI resolver
Lets go ahead and delete that cluster
eksctl delete cluster --name CLUSTERNAME
Troubleshooting applications pods can be difficult from outside the cluster, running a container with troubleshooting tools inside the cluster can be helpful.
- Docker
Build it yourself, Dockerfile is located in this repo here
OR
docker pull acloudgurulabs/course_kubernetes_advanced_networking:latest
kubectl run --generator=run-pod/v1 tmp-shell --rm -i --tty --image acloudgurulabs/course_kubernetes_advanced_networking:latest -- /bin/bashThe Kubectl run should drop you into a shell
ping google.com