Skip to content

Latest commit

 

History

History
144 lines (81 loc) · 5.27 KB

ProcedureDocument.md

File metadata and controls

144 lines (81 loc) · 5.27 KB

Procedure Document Kubernetes Procedure Document Github repository [Read this first] Download all the course material from: https://github.com/wardviaene/kubernetes-course

Kubernetes releases minor version updates of its distribution every 3 months

Rather than updating the scripts in the video lectures, the repository in Github is updated if any script need changes

The changes are often very minor, the API is very stable. Often API versions like v1betaX change to v1betaX+1 or to v1 (stable)

All the scripts you can find in the repository should work with the latest version of Kubernetes, if you have any issues, contact me through one of the channels listed below

Kubernetes setup lectures There are multiple ways to setup a kubernetes cluster. You only need 1 working cluster to do the demos, but I've added different ways that you can create your cluster.

A local cluster (on your machine): you can follow the minikube or docker for windows/mac lectures

A production cluster using Kops on AWS

A on-prem or cloud-agnistic cluster using kubeadm (lecture is at the end of the course)

A managed production cluster on AWS using EKS (lecture can also be found at the end of the course)

If you want to test all features, kops is the best choice. If you want to have a local cluster, try out minikube first. If you have issues getting minikube up, docker for windows/mac comes with kubernetes and is a great alternative.

Kops gives you full access to the master nodes. To learn to work with Kubernetes, kops is preferred. If you have issues setting up kops, you can give EKS a try (lectures at the end of the course). EKS is more expensive than kops, so make sure to keep an eye on your billing and destroy the cluster after you're done with testing/demos.

If you want to deploy a cluster on any cloud or on an on-prem machine, then kubeadm will be the way to go. If you want to use a cloud provider like Azure, Google, or DigitalOcean, that will also work. They all provide their own managed kubernetes solutions.

Slides The slides can be downloaded from: https://d3jb1lt6v0nddd.cloudfront.net/udemy/Learn+DevOps+-+Kubernetes.pdf

Questions? Send me a message

Use Q&A

Join our facebook group: https://www.facebook.com/groups/840062592768074/

Download Kubectl Linux: https://storage.googleapis.com/kubernetes-release/release/v1.17.0/bin/linux/amd64/kubectl

MacOS: https://storage.googleapis.com/kubernetes-release/release/v1.17.0/bin/darwin/amd64/kubectl

Windows: https://storage.googleapis.com/kubernetes-release/release/v1.17.0/bin/windows/amd64/kubectl.exe

Or use a packaged version for your OS: see https://kubernetes.io/docs/tasks/tools/install-kubectl/

Minikube Project URL: https://github.com/kubernetes/minikube

Latest Release and download instructions: https://github.com/kubernetes/minikube/releases

VirtualBox: http://www.virtualbox.org

Minikube on windows: Download the latest minikube-version.exe

Rename the file to minikube.exe and put it in C:\minikube

Open a cmd (search for the app cmd or powershell)

Run: cd C:\minikube and enter minikube start

Test your cluster commands Make sure your cluster is running, you can check with minikube status.

If your cluster is not running, enter minikube start first.

Run the hello-minikube deployment:

kubectl create deployment hello-minikube --image=k8s.gcr.io/echoserver:1.4 kubectl expose deployment hello-minikube --type=NodePort --port=8080 then run:

minikube service hello-minikube --url

Kops Project URL https://github.com/kubernetes/kops

Free DNS Service Sign up at http://freedns.afraid.org/

Choose for subdomain hosting

Enter the AWS nameservers given to you in route53 as nameservers for the subdomain

http://www.dot.tk/ provides a free .tk domain name you can use and you can point it to the amazon AWS nameservers

Namecheap.com often has promotions for tld’s like .co for just a couple of bucks

Cluster Commands kops create cluster --name=kubernetes.newtech.academy --state=s3://kops-state-b429b --zones=eu-west-1a --node-count=2 --node-size=t2.micro --master-size=t2.micro --dns-zone=kubernetes.newtech.academy

kops update cluster kubernetes.newtech.academy --yes --state=s3://kops-state-b429b

kops delete cluster --name kubernetes.newtech.academy --state=s3://kops-state-b429b

kops delete cluster --name kubernetes.newtech.academy --state=s3://kops-state-b429b --yes

Kubernetes from scratch You can setup your cluster manually from scratch

If you’re planning to deploy on AWS / Google / Azure, use the tools that are fit for these platforms

If you have an unsupported cloud platform, and you still want Kubernetes, you can install it manually

CoreOS + Kubernetes: ###a href="https://coreos.com/kubernetes/docs/latest/getting-started.html">https://coreos.com/kubernetes/docs/latest/getting-started.html

Docker You can download Docker Engine for:

Windows: https://docs.docker.com/engine/installation/windows/

MacOS: https://docs.docker.com/engine/installation/mac/

Linux: https://docs.docker.com/engine/installation/linux/

DevOps box Virtualbox: http://www.virtualbox.org

Vagrant: http://www.vagrantup.com

DevOps box: https://github.com/wardviaene/devops-box

Launch commands (in terminal / cmd / powershell):

cd devops-box/

vagrant up

Launch commands for a plain ubuntu box:

mkdir ubuntu

vagrant init ubuntu/xenial64

vagrant up