How to setup minikube lab on debian 9 with virtualbox - 2019-01-18

How to setup minikube lab on debian 9 with virtualbox How to install Virtualbox on debian 9 sudo add-apt-repository "deb http://download.virtualbox.org/virtualbox/debian stretch contrib" wget -q https://www.virtualbox.org/download/oracle_vbox_2016.asc -O- | sudo apt-key add - wget -q https://www.virtualbox.org/download/oracle_vbox.asc -O- | sudo apt-key add - sudo apt-get update sudo apt-get install virtualbox-5.2 Remove old version of minikube > minikube stop >VBoxManage unregistervm minikube --delete >minikube detele >``` ### Reinstall and start minikube bash minikube start -v 99

Moving Kops Aws Kubernetes API from Public to Internal ELB - 2018-05-14

Kops made very easy this change, first you need to edit your cluster: # kops edit cluster --name CLUSTER_NAME Change the type from Public in to private # Please edit the object below. Lines beginning with a '#' will be ignored, # and an empty file will abort the edit. If an error occurs while saving this file will be # reopened with the relevant failures. # apiVersion: kops/v1alpha2 kind: Cluster metadata: creationTimestamp: 2018-04-25T04:23:38Z name: staging.

How to create a Helm chart repository using Amazon S3 - 2018-05-05

Helm is a package manager for Kubernetes. You can bundle Kubernetes resources together as charts that define all the necessary resources and dependencies of an application. You can then use the Helm CLI to install all the pods, services, and ingresses for an application in one simple command. Just like Docker or NuGet, there’s a common public repository for Helm charts that the helm CLI uses by default. And just like Docker and NuGet, you can host your own Helm repository for your charts.

Configure automatically external dns on Kubernetes - 2018-05-04

External DNS ExternalDNS’ current release is v0.5. This version allows you to keep selected zones (via --domain-filter) synchronized with Ingresses and Services of type=LoadBalancer in various cloud providers: Google CloudDNS AWS Route 53 AzureDNS CloudFlare DigitalOcean DNSimple Infoblox Dyn OpenStack Designate PowerDNS Example for Route 53 on AWS Kops kubernetes cluster with a ressouces files: --- apiVersion: extensions/v1beta1 kind: Deployment metadata: name: external-dns namespace: YOUR_NAME_SPACE spec: strategy: type: Recreate template: metadata: labels: app: external-dns spec: containers: - name: external-dns image: registry.

Manage your friends with a microservice in Golang - 2018-03-07

In this tutorial I will illustrate how you can build your own RESTful API in Go and MongoDB. API Specification The REST API service will expose endpoints to manage a list of friends. The operations that our endpoints will allow are: GET /friends Get list of friends GET /friends/:id Find a friends by id POST /friends Create new friend PUT /firends Update a friend DELETE /firends Delete a friend Fetching Dependencies Before we begin, we need to get the packages we need to setup the API:

What is TensorFLow - 2018-01-23

What is TensorFlow? If you’ve been following the machine learning community, in particular that of deep learning, over the last year, you’ve probably heard of Tensorflow. Tensorflow is a library to structure and run numerical computations developed in-house by Google Brain (the people who developed Alpha-GO). One can imagine this library as an extension of NumPY to work on more scalable architectures, as well as with more detailed algorithms and methods that pertain specifically to machine learning.

Deploy Kubernetes cluster with Kops and AWS s3 state - 2018-01-03

Install Kops on your local Kops git repository: here Prerequisite kubectl is required, see here. OSX From Homebrew brew update && brew install kops The kops binary is also available via our releases. Linux curl -LO https://github.com/kubernetes/kops/releases/download/$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '"' -f 4)/kops-linux-amd64 chmod +x kops-linux-amd64 sudo mv kops-linux-amd64 /usr/local/bin/kops Create the AWS s3 Bucket aws s3api create-bucket \ --bucket kubernetes.bucket.aws.s3.name \ --region us-east-1 { "Location": "/kubernetes.

Install Let's Encrypt with Nginx on Debian 9 - 2017-12-23

Install Certbot Client Utility apt-get install certbot Get Let’s Encrypt Certificate In order to obtain certificates for your domain, execute the cerbot command in console with the following parameters and flags as explained below. Run the command with root privileges and supply your domain name and all other subdomains you want to obtain certificates for by using the –d flag. Also, supply the –standalone option in order for certbot to not interfere with Nginx configuration files.

Design Patterns in Golang - Part-5 - 2017-11-02

Messaging Patterns Fan-In Messaging Patterns Fan-In is a messaging pattern used to create a funnel for work amongst workers (clients: source, server: destination). We can model fan-in using the Go channels. // Merge different channels in one channel func Merge(cs ...<-chan int) <-chan int { var wg sync.WaitGroup out := make(chan int) // Start an send goroutine for each input channel in cs. send // copies values from c to out until c is closed, then calls wg.

Design Patterns in Golang - Part-4 - 2017-10-20

Synchronization Patterns Semaphore Pattern A semaphore is a synchronization pattern/primitive that imposes mutual exclusion on a limited number of resources. Implementation package semaphore var ( ErrNoTickets = errors.New("semaphore: could not aquire semaphore") ErrIllegalRelease = errors.New("semaphore: can't release the semaphore without acquiring it first") ) // Interface contains the behavior of a semaphore that can be acquired and/or released. type Interface interface { Acquire() error Release() error } type implementation struct { sem chan struct{} timeout time.