Giter VIP home page Giter VIP logo

aum1031 / k8s-rvstore Goto Github PK

View Code? Open in Web Editor NEW

This project forked from vergeops/k8s-rvstore

0.0 0.0 0.0 182.74 MB

RV Store demo application for the Docker/Kubernetes course

License: Other

Shell 1.92% JavaScript 0.01% Ruby 0.01% Python 0.04% C 0.01% Java 0.02% Lua 0.02% Go 54.03% PowerShell 0.12% TypeScript 0.02% Makefile 39.82% HTML 0.01% Dockerfile 0.08% Less 0.01% sed 0.01% Starlark 3.91%

k8s-rvstore's Introduction

VergeOps Docker and Kubernetes courseware

This is the courseware for Tim Solley's Docker and Kubernetes courses. It includes exercise files for lectures as well as a Hackthon application for students to practice the concepts they learn in class.

Setup Instructions

You'll need to install a container runtime for this course. You have a couple of good options:

Docker Desktop

With Docker Desktop, you'll get a managed Kubernetes cluster after some initial setup. IMPORTANT: This has a potential license issue, as Docker charges larger companies a per-seat license fee. It is free for your personal/educational use. It is free for use during class, but a license requirement applies once the class is over. If you're unsure, check with your company management or choose the Rancher Desktop option below. For more details on Docker's license and whether it applies to you at work, visit their FAQ.

  1. Visit docker.com
  2. Click the install link in the center of the page. Be careful if you're on a Mac to choose the correct chip. It defaults to Intel Macs. If you're unsure, look at the Apple menu on your computer, then About This Mac.
  3. Once installed, open the Docker application.
  4. You'll have Docker menu on your computer (whale logo). Click it and choose the Signup/Signin to Docker Hub option. This will open a browser to Docker Hub where you can login or sign up for a free account.
  5. (For Kubernetes courses) Install Kubernetes
    1. Once you're signed in, open the Docker menu again and choose Preferences. Then go to the Kubernetes section. Check the box for Enable Kubernetes then click the Apply and Restart button. This will begin the Kubernetes setup process which usually takes 10-15 minutes.
    2. Once finished, you'll be able to open a terminal and run kubectl get all and get some output that is clearly not a connection error.

Rancher Desktop

A great open-source option with no license issues. Rancher Desktop comes with automatic Kubernetes support.

  1. Visit rancherdesktop.io
  2. Scroll down to the installer section and pick the correct installer. Be careful if you're on a Mac to choose the correct chip. It defaults to Intel Macs. If you're unsure, look at the Apple menu on your computer, then About This Mac.
  3. Follow the installation instructions. When prompted for for container engine, choose dockerd (moby). When prompted for a Kubernetes version, choose the latest stable release.

Optional Multi-Node Kubernetes Cluster

k3d offers a great way to start up a multi-node cluster on your local workstation using Docker containers as Kubernetes nodes. This allows you to work in a simulated large cluster environment to practice cluster management. I've tested this using Rancher Desktop, but it should work fine for Docker Desktop.

  1. Visit k3d.io for more detailed instructions.
  2. In a terminal, run wget -q -O - https://raw.githubusercontent.com/k3d-io/k3d/main/install.sh | bash. Alternatively, you can use Homebrew with brew install k3d
  3. Set up your cluster. In this repository, navigate to the k3d directory. Run make create-cluster or open the Makefile and grab the command and run it.
  4. To switch your Kubernetes context to the k3d cluster, run kubectl config use-context k3d-k3d

Repository Tour

This repository is used for all of Tim Solley's Docker and Kubernetes courses, beginning through expert. As such, not all areas will be relevant to all students.

Docker Classes

  • docker-compose.yml - used for Compose running of the RV Store application
  • Microservices - The full source code for the RV Store example application. Includes all code, Dockerfiles, Makefiles with useful commands, etc.

Kubernetes Classes

  • Advanced Kubernetes - contains a variety of sub directories with files on advanced topics such as RBAC, initContainers, high availability, etc.
  • argocd - scripts for installing ArgoCD into a cluster
  • elk - scripts for installing the EFK (Elasticsearch, FluentD, Kibana) stack into a cluster
  • exercises/day 4 - labs for various topics
  • extras - helpful kubectl commands
  • helm - the RV Store application built using the Helm package manager
  • ingress - an ingress and ingress controller configured for the RV Store application
  • Microservices - The full source code for the RV Store example application. Includes all code, Dockerfiles, Makefiles with useful commands, etc.
  • minikube - Kubernetes manifest files for the RV Store example application.
  • rvstore_hackathon - contains information relevant to the RV Store Hackathon. For instructions, view the Kubernetes-RV Store Hackathon.pdf file.

All content is copyright VergeOps, LLC

For more information, visit VergeOps. Questions about this repository can be directed to Tim Solley

k8s-rvstore's People

Contributors

timsolley avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.