Go: Helm, Kubernetes & Docker Desktop

I wanted to really understand the flow of Go code to production at my work. I looked at all the IaC code they had in place and was overwhelmed — so many tools involved, so much configuration. So I did the code monkey thing, and went off to a dark corner and implemented the bare minimum myself to learn.

This is a long post, but stick with it, look in the associated repository, and you’ll be able to create a program and deploy it into a Kubernetes cluster all on your own machine — not too shabby.

The Plan

The overall lesson plan here is to achieve, all on a single Mac:

  • Write a simple Go program
  • Get it into a docker container
  • Use Helm to get the container into Kubernetes

Additional specific goals for each of the above will be covered as we go.

Prerequisites

We’ll need a bunch of tools, and recent versions of all of them should work, but I grabbed:

  • Docker Desktop 2.3.0.5
  • golang 1.15.1
  • helm 3.3.3
  • kubectl 1.19.2
  • kubectx 0.9.1

Getting the Prerequisites

For Docker Desktop just head over to their site and do the needful. I grabbed Edge but Stable should work fine. For all the others, there are a bunch of ways to deal with the installations, but I’m going to suggest a one stop shopping solution that I like — asdf. Yup yet another installation tool! It’s worth it. Head over to their install guide and to do the needful. With asdf in place:

asdf plugin-add golang https://github.com/kennyp/asdf-golang.git
asdf install golang 1.15.1

asdf plugin-add helm https://github.com/Antiarchitect/asdf-helm.git
asdf install helm 3.3.3
asdf plugin-add kubectl https://github.com/Banno/asdf-kubectl.git
asdf install kubectl 1.19.2
asdf plugin add kubectx
asdf install kubectx 0.9.1
## Go to the directory you'll be working in...
asdf local golang 1.15.1
asdf local helm 3.3.3
asdf local kubectl 1.19.2
asdf local kubectx 0.9.1

Done. Why do I advocate asdf? Because it allows you to maintain multiple versions easily, and for these tools, different projects will have very specific version requirements and I don’t want to impose a single version for the entire machine

#go #helm #os-x #kubernetes #docker-desktop

What is GEEK

Buddha Community

Go: Helm, Kubernetes & Docker Desktop
Christa  Stehr

Christa Stehr

1602964260

50+ Useful Kubernetes Tools for 2020 - Part 2

Introduction

Last year, we provided a list of Kubernetes tools that proved so popular we have decided to curate another list of some useful additions for working with the platform—among which are many tools that we personally use here at Caylent. Check out the original tools list here in case you missed it.

According to a recent survey done by Stackrox, the dominance Kubernetes enjoys in the market continues to be reinforced, with 86% of respondents using it for container orchestration.

(State of Kubernetes and Container Security, 2020)

And as you can see below, more and more companies are jumping into containerization for their apps. If you’re among them, here are some tools to aid you going forward as Kubernetes continues its rapid growth.

(State of Kubernetes and Container Security, 2020)

#blog #tools #amazon elastic kubernetes service #application security #aws kms #botkube #caylent #cli #container monitoring #container orchestration tools #container security #containers #continuous delivery #continuous deployment #continuous integration #contour #developers #development #developments #draft #eksctl #firewall #gcp #github #harbor #helm #helm charts #helm-2to3 #helm-aws-secret-plugin #helm-docs #helm-operator-get-started #helm-secrets #iam #json #k-rail #k3s #k3sup #k8s #keel.sh #keycloak #kiali #kiam #klum #knative #krew #ksniff #kube #kube-prod-runtime #kube-ps1 #kube-scan #kube-state-metrics #kube2iam #kubeapps #kubebuilder #kubeconfig #kubectl #kubectl-aws-secrets #kubefwd #kubernetes #kubernetes command line tool #kubernetes configuration #kubernetes deployment #kubernetes in development #kubernetes in production #kubernetes ingress #kubernetes interfaces #kubernetes monitoring #kubernetes networking #kubernetes observability #kubernetes plugins #kubernetes secrets #kubernetes security #kubernetes security best practices #kubernetes security vendors #kubernetes service discovery #kubernetic #kubesec #kubeterminal #kubeval #kudo #kuma #microsoft azure key vault #mozilla sops #octant #octarine #open source #palo alto kubernetes security #permission-manager #pgp #rafay #rakess #rancher #rook #secrets operations #serverless function #service mesh #shell-operator #snyk #snyk container #sonobuoy #strongdm #tcpdump #tenkai #testing #tigera #tilt #vert.x #wireshark #yaml

Go: Helm, Kubernetes & Docker Desktop

I wanted to really understand the flow of Go code to production at my work. I looked at all the IaC code they had in place and was overwhelmed — so many tools involved, so much configuration. So I did the code monkey thing, and went off to a dark corner and implemented the bare minimum myself to learn.

This is a long post, but stick with it, look in the associated repository, and you’ll be able to create a program and deploy it into a Kubernetes cluster all on your own machine — not too shabby.

The Plan

The overall lesson plan here is to achieve, all on a single Mac:

  • Write a simple Go program
  • Get it into a docker container
  • Use Helm to get the container into Kubernetes

Additional specific goals for each of the above will be covered as we go.

Prerequisites

We’ll need a bunch of tools, and recent versions of all of them should work, but I grabbed:

  • Docker Desktop 2.3.0.5
  • golang 1.15.1
  • helm 3.3.3
  • kubectl 1.19.2
  • kubectx 0.9.1

Getting the Prerequisites

For Docker Desktop just head over to their site and do the needful. I grabbed Edge but Stable should work fine. For all the others, there are a bunch of ways to deal with the installations, but I’m going to suggest a one stop shopping solution that I like — asdf. Yup yet another installation tool! It’s worth it. Head over to their install guide and to do the needful. With asdf in place:

asdf plugin-add golang https://github.com/kennyp/asdf-golang.git
asdf install golang 1.15.1

asdf plugin-add helm https://github.com/Antiarchitect/asdf-helm.git
asdf install helm 3.3.3
asdf plugin-add kubectl https://github.com/Banno/asdf-kubectl.git
asdf install kubectl 1.19.2
asdf plugin add kubectx
asdf install kubectx 0.9.1
## Go to the directory you'll be working in...
asdf local golang 1.15.1
asdf local helm 3.3.3
asdf local kubectl 1.19.2
asdf local kubectx 0.9.1

Done. Why do I advocate asdf? Because it allows you to maintain multiple versions easily, and for these tools, different projects will have very specific version requirements and I don’t want to impose a single version for the entire machine

#go #helm #os-x #kubernetes #docker-desktop

Introduction to Helm - Package Manager for Kubernetes

**Introduction to Kubernetes and Helm **

Kubernetes is one of the best platforms to deploy and manage containerized applications. But deploying such containerized applications to Kubernetes can be challenging. You have to write a detailed YAML file to deploy resources like pods, deployments, and services on Kubernetes that’s where Helm comes into the play. Helm is a package manager for Kubernetes; it’s the yum and apt of Kubernetes. It allows us to deploy resources to Kubernetes quickly. It deploys charts which are the packages of application. Helm is also an official Kubernetes project in the Cloud Native Computing Foundation (CNCF) under the category of incubating projects.

Why we need Helm?

Helm makes deployments so easy in Kubernetes, all you need to add helm charts on your Kubernetes cluster. All the Helm charts are stored in Helm repository; you can search the required application chart on Helm registry and add them to your Kubernetes cluster with ease. For example, if you want to deploy a WordPress app on your Kubernetes, you have to create Yaml manifest files for deployment and service for both app and database, which can be quite complicated. Still, by using Helm you can deploy WordPress in a few minutes on your Kube cluster. Also if you want to deploy 50 microservices on Kubernetes using manifest files it consumes a whole lot of time and also there is an exorbitant probability of errors. Still, in case of Helm, you have to remember the name of required charts, and you can deploy these as quick as Flash.

How to install Helm?

The process of installing Helm is effortless, you can install it using the binaries, or you can use package managers.

From homebrew on macOS:

brew install Helm

From Chocolatey on windows:

choco install Kubernetes-helm

From installer script:

Helm now comes with an installer script, you can fetch this script to your system, and it automatically installs the latest version of Helm in your system.

$ curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3

$ chmod 700 get_helm.sh

$ ./get_helm.sh

#kubernetes #helm #helm charts #helm installation #helm overview #helm repository

Iliana  Welch

Iliana Welch

1595249460

Docker Explained: Docker Architecture | Docker Registries

Following the second video about Docker basics, in this video, I explain Docker architecture and explain the different building blocks of the docker engine; docker client, API, Docker Daemon. I also explain what a docker registry is and I finish the video with a demo explaining and illustrating how to use Docker hub

In this video lesson you will learn:

  • What is Docker Host
  • What is Docker Engine
  • Learn about Docker Architecture
  • Learn about Docker client and Docker Daemon
  • Docker Hub and Registries
  • Simple demo to understand using images from registries

#docker #docker hub #docker host #docker engine #docker architecture #api

Fannie  Zemlak

Fannie Zemlak

1599854400

What's new in the go 1.15

Go announced Go 1.15 version on 11 Aug 2020. Highlighted updates and features include Substantial improvements to the Go linker, Improved allocation for small objects at high core counts, X.509 CommonName deprecation, GOPROXY supports skipping proxies that return errors, New embedded tzdata package, Several Core Library improvements and more.

As Go promise for maintaining backward compatibility. After upgrading to the latest Go 1.15 version, almost all existing Golang applications or programs continue to compile and run as older Golang version.

#go #golang #go 1.15 #go features #go improvement #go package #go new features