During this hands-on session, we’ll go through the basics of building and deploying a Go webapplication, natively and then with KubeFox. By the end of the session, you will have a basicunderstanding of what it takes to deploy a Go web app to Kubernetes, including the constituentYAML files and their functions, environments and the GitHub Container Registry, and you willhave built and run a containerized Go web app in kind (kind is Kubernetes IN Docker) on yourlocal system.Agenda:WelcomeIntroductionsDeploy a Go web app to Kubernetes nativelyWalkthrough of the applicationWalkthrough of the Docker FileBuild and containerize the applicationPublish the container to GHCRWalkthrough ConfigMapExplain how ConfigMaps are bound to PodsModify ConfigMap – create a new PodLoad the container in k8sWalkthrough of the Deployment YAMLApply the Deployment and Service YAML filesShow Kubernetes resources with Kubectl (Pods, deployment, service)Play with the applicationDeploy a Go web app to Kubernetes with KubeFoxfox initfox publish (with deploy)Walkthrough of environment YAMLApply environment YAMLShow the effect of the environment YAML and explainShow the PodWalkthrough of zero trust infrastructureWalkthrough of telemetryPlay with the applicationPerform a releaseShow the effect of the releaseReview KubeFox Virtual Environments and Dynamic Traffic ShapingQ and APrerequisites:Notes:Please install and employ WSL if you are using Windows.We will put detailed instructions in the repository readme.It would be prudent to check each installation to ensure that it is properly installed. The installation instructions for each product are quite good._____To prepare for the session, please:Create a GitHub organization. Full instructions are here: https://docs.github.com/en/organizations/collaborating-with-groups-in-organizations/creating-a-new-organization-from-scratchThe organization is needed for you to build and deploy code.Install GoLang:https://go.dev/doc/installInstalls the Go language on your system.Install Docker Desktop:https://docs.docker.com/engine/install/It provides a Docker container toolset and runtime.Install kind:https://kind.sigs.k8s.io/docs/user/quick-start/kind is a tool for creating and running local Kubernetes clusters.Run this command:kind create cluster –name kubefox-demo –wait 5mThis creates a cluster on your local system.Install the KubeFox CLI:https://github.com/xigxog/kubefox-cli/releases/This CLI provides for communication with the KubeFox Platform. Download the latestrelease and put the binary on your path.Install Kubectl:https://kubernetes.io/docs/tasks/tools/Kubectl is the CLI for communicating with a Kubernetes cluster control plane via theKubernetes API.Install git:https://github.com/git-guides/install-gitgit enables you to interact with repositories.Clone the XigXog examples repo:Run this command:git clone https://github.com/xigxog/examples.gitThis pulls the KubeFox samples into your local repository.Install Helm:https://helm.sh/docs/intro/install/Helm helps with the installation of KubeFox (and many other products).Run this command after Helm is installed:helm upgrade –repo https://xigxog.github.io/helm-charts –create-namespace –namespace kubefox-system –install kubefox-demo kubefoxThis installs KubeFox into your kind cluster.Install Visual Studio Code (VS Code):https://code.visualstudio.com/downloadThere are also a set of extensions that we provide as part of the repository clone.Recommended VS Code extensionsGoDockerKubernetes
Presented by:
XigXog