Bangalore Kubernetes Meetup July 2017

Kubernetes Meetup presentation and talks

Suraj Deshmukh

2 minute read

This edition of meetup was held at Nexus Ventures by folks at OpenEBS on July 8th 2017, which started on a lovely Saturday morning. Kiran Mova set the floor rolling with his talk on Hyperconverged version of OpenEBS with Kubernetes. Where he talked about containerized storage vs traditional storage, instead of building clustering into OpenEBS how they are leveraging Kubernetes’s capabilities to do clustering. He also explained difference between various storage providers viz.

Clean Node setup

This will help in intalling node without sudo

Suraj Deshmukh

1 minute read

Make sure you have npm installed. $ sudo dnf -y install npm Package npm-1:3.10.10-1.6.10.3.1.fc25.x86_64 is already installed, skipping. Dependencies resolved. Nothing to do. Complete! Taken from this post. mkdir "${HOME}/.npm-packages" echo ‘prefix=${HOME}/.npm-packages’ | tee -a ~/.npmrc echo ‘ #====================================== # npm related stuff NPM_PACKAGES="${HOME}/.npm-packages" PATH="$NPM_PACKAGES/bin:$PATH" # Unset manpath so we can inherit from /etc/manpath via the manpath command unset MANPATH # delete if you already modified MANPATH elsewhere in your config export MANPATH="$NPM_PACKAGES/share/man:$(manpath)" #====================================== ‘ | tee -a ~/.

Bangalore Kubernetes Meetup May 2017

Kubernetes and OpenShift 101 hands-on workshop

Suraj Deshmukh

3 minute read

“One does not simply deploy containers to production” With the rising craze around the container community in Bangalore and relative lack in awareness around different container technologies like Kubernetes and OpenShift, an effort was made in imparting knowledge in this direction. So, this time around newbies were targeted for the Kubernetes Meetup. With the above objective, it was decided to have a Kubernetes 101 workshop at Red Hat Bangalore office on May 21, 2017 to familiarize people with concepts of Kubernetes and OpenShift and their usage and relevance as container orchestration tools for managing application deployments.

Enabling local development with Kubernetes

If you are doing development and want to use kubernetes for it, then here is how you can do it.

Suraj Deshmukh

5 minute read

I want to show how you can enable Kubernetes in your day to day development workflow. So that you get the feel of production deployment locally from day 1. I have a flask application which I am working on. The basic directory structure looks like this: $ ll total 24 -rw-rw-r–. 1 foo foo 427 Apr 23 16:23 app.py -rw-rw-r–. 1 foo foo 201 Apr 23 16:55 docker-compose.yml -rw-rw-r–. 1 foo foo 363 Apr 23 16:21 Dockerfile -rwxrwxr-x.

Quick PV for local Kubernetes cluster

A hostPath based local PV creation process for using via PVC

Suraj Deshmukh

1 minute read

I do lot of Kubernetes related work either on minikube or local OpenShift cluster setup in a VM. Often I need to create a PersistentVolumeClaim a.k.a. pvc. But to use pvc you have to have a PersistentVolume or pv defined. Enter into the machine running k8s If using minikube you can do minikube ssh Create a local directory for storage mkdir /tmp/pv0001 chmod 777 /tmp/pv0001 If you are on a machine that has SELinux enabled do the following

Suraj Deshmukh

2 minute read

Like many Saturday mornings, Red Hat Bangalore office was once again abuzz with enthusiasm on 8th of April, for hosting yet another successful chapter of Bangalore Kubernetes Meetup. The Meetup had a good turnaround of about 40 people who gave up on their early morning saturday sleep to attend it despite the sweltering hot season and in line were four awesome talks. Suraj Deshmukh set the stage with his opening talk, Kubernetes on CRI-O, wherein he explained different jargons like OCI, CRI, etc.

k8s on CRI-O - single node

How to make kubernetes use CRI-O as container runtime

Suraj Deshmukh

2 minute read

Here is a single node Kubernetes on CRI-O. This setup is done on Fedora 25. Installing OS dependencies dnf -y install \ go \ git \ btrfs-progs-devel \ device-mapper-devel \ glib2-devel \ glibc-devel \ glibc-static \ gpgme-devel \ libassuan-devel \ libgpg-error-devel \ libseccomp-devel \ libselinux-devel \ pkgconfig \ wget \ etcd \ iptables Creating go environment cd ~ mkdir -p ~/go export GOPATH=~/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOBIN echo ‘GOPATH=~/go’ >> ~/.

TODOs for new project

Things to do to make a project successful

Suraj Deshmukh

1 minute read

When starting a new open source project, apart from coding following are the things that need to be done. Docs README LICENSE How to install? How to use? Code of conduct guidelines Copyright Issue template like .github in repo. Developer docs How to install for developer? Developer docs Contribution guidelines Team meetings info Team communication channels Issue label guidelines Coding standards Code placement doc, or something that explains the way code is ordered Design document Development Makefile Unit tests Functional tests Coverage check CI for automatic tests Distro based package This is just few things that I could think of, please suggest if you know more in comments.

rpm Notes

General notes about rpm packaging and references to upstream docs

Suraj Deshmukh

2 minute read

Setup of the system for building rpms $ dnf -y install fedora-packager fedora-review $ sudo usermod -a -G mock vagrant $ fedora-packager-setup $ kinit surajd@FEDORAPROJECT.ORG My Notes Start reading from: Fedora packager’s guide Some macros come from redhat-rpm-config and fedora-rpm-macros. $ sudo rpm -ql redhat-rpm-config-45-1.fc25.noarch To see all macros on the system: $ rpm –showrc Koji - fedora build system fedora uses fedpkg for doing builds, while rpmbuild is for CentOS To get general info about the package $ rpm -qip .

Git Notes

Contains notes about using git

Suraj Deshmukh

8 minute read

Notes about using git. Tips and tricks Switch branches $ git checkout <branch> status $ git status -sb Show status in short format and also give branch info show $ git show Shows log message and diff about the commit you are on. log $ git log -L 70,100:pkg/transformer/kubernetes/kubernetes.go Get logs on file between line numbers. $ git log –graph –abbrev-commit Show graph in logs.