Deploy Kubernetes cluster using kubeadmin on Ubuntu Server

Kubernetes (k8s) is an open-source system for automating deployment, scaling, and management of containerized applications. Kubernetes is so popular nowadays. There are several ways to deploy and use it. Public cloud services such as Google, Azure, Amazon, etc are offering as well. However if you decide to deploy your own k8s cluster from the beginning, you can use kubeadmin. Let’s discover the steps…

Read More

Share Comments

Manage HPE Smart Array in VMware ESXi 6.7

HPE Smart Array Controller

The HPE Smart Array Controller provides enterprise-class storage performance, increased internal scalability with SAS Expander Card, and data protection for HPE ProLiant rack and tower servers.

There is a built-in tool for managing the Smart Array Controller in HPE Proliant servers. We can access it during the the server boot time to configure the disk arrays. However if we already have ESXi installed on the server and we want to monitor or update the array configuration directly from ESXi’s shell, we can use the offical softwares from HPE.

Read More

Share Comments

How to use NVIDIA graphic card in docker container

What is NVIDIA-Docker?

NVIDIA designed NVIDIA-Docker in 2016 to enable portability in Docker images that leverage NVIDIA GPUs. It allowed driver agnostic CUDA images and provided a Docker command line wrapper that mounted the user mode components of the driver and the GPU device files into the container at launch.

The NVIDIA-Docker overall architecture

The NVIDIA-Docker enables deployment of GPU-accelerated applications across any Linux server. Using Docker, we can develop and prototype GPU applications on a workstation, and then ship and run those applications anywhere that supports GPU containers.

The requirements

Just for your information, the current latest version of NVIDIA-Docker is 2.0. So in this tutorial we will just care about the requirements of this version. In order to run NVIDIA-Docker version 2.0, your Operation System must have:

Read More

Share Comments

Extend VMware virtual machine LVM disk

In order to increase the disk space of an existing virtual machine on VMware ESXi we have to do 2 steps. First, we modify the virtual machine setting to have an addition disk. This is same as we plug a new physical hard disk into a real machine. Second, we will need to go into the OS and modify the disk layout. Let’s see 2 steps in detail.

Adding new disk to the existing VMware virtual machine

Login into VMware ESXi infrastructure using your favorite management tool. You can use the VMware vSphere Client, Web Client or CLI. In this tutorial, i use the VMware vSphere Web Client to add 100GB disk.

Right click on your virtual machine and select Edit settings. Click on Add hard disk and specify the size of new disk.

Read More

Share Comments

Top 5 reasons your crontab scripts are not working

The Crontab

Crontab (cron table) is a configuration file that specifies shell commands to run periodically on a given schedule. It is commonly used to automate system maintenance or administration. Crontab is available in almost Linux distribution and easy to use.

Why crontab scripts are not working?

There are several reasons for that. Following is top 5 reason we might have

1. Crontab software is not installed

Although Crontab is available in almost Linux distribution by default today, there is customized version of Linux that misses cron package. To install cron…

Read More

Share Comments

Improve your code quality with LGTM

What is LGTM?

LGTM (LGTM dot com) is a platform that provides useful insights and code quality information for all sorts of people participating in software development.

  • Use open source libraries and frameworks in private projects and want to know how well they’re being maintained
  • Contribute to open source repositories and want to find out about the quality of the code you contribute
  • Own or administer a public Git repository and want to integrate code quality analysis into your pull request review workflow
  • Want to join the debate on how to define good quality code

Currently LGTM supports to analyze code bases written in C/C++, C#, Java, JavaScript/TypeScript and Python. You can easily integrate LGTM with Github to automate the code analyzing process and review the code quality on each submitted Pull Request before merging.

Read More

Share Comments

Import existing AWS infrastructure into terraform

Amazon Web Services (AWS)

Amazon Web Services (AWS) is an on-demand cloud computing platform that offers us a lot of helpful and reliable services. AWS has friendly web interface which user can easily interact with to create virtual machines, networking stuffs, security policies, etc. However, in order to manage all the AWS configuration and keep track of the changes, it is neccessary to work with 3rd party tool like Terraform.


Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions. You can see here the list of supported providers.

If you are building your IT infrastructure on AWS from scratch with Terraform, it is great, you don’t need to follow this article. But if you already had an existing aws infrastructure and now want to manage with Terraform, you might want to read more :-).

Read More

Share Comments

Fixing the issue with Kong deployment as a reverse proxy for Docker registry

What is Docker registry?

The Registry is a stateless, highly scalable server side application that stores and lets you distribute Docker images. The Registry is open-source, under the permissive Apache license.

What is Kong?

Kong is one of the core technologies used by Mashape to power API request from developers. It is often described as a “drop-in replacement for expensive proprietary API management systems.” The rough idea behind Kong is to give developers a centralized management layer for microservices and APIs.

Why using Kong as reverse proxy for Docker Registry?

Read More

Share Comments

Learning Rust

This post is not a tutorial, it is just my notes during the time i learn Rust. Glad if you found it useful.
If you are finding how to run Rust on your machine, take a look at my previous article to see how to install Rust programming language.

Why did i choose Rust?

I am an Enginner who love programming and building reliable systems. My favorite language is Python, i have written a lot of application based on Python. However, Python is an interpreted language, it is slow. In order to build applications for a high performance system, we have to use compiler language. There are several compiler language such as C, C++, Java, etc but i found Rust is morden and easy to use. Rust can run on both Windows and Unix also.

One of my favorite developement case is building web application. I am good with Python Flask. It is a great framework but i found Rust is able to do the same job. For example, we have Rocket for the web framework, Diesel for the DB ORM and Tera for the template.

For three years in a row. Rust has been voted the most loud language on Stack Overflow’s developer survey. It runs blazingly fast, prevents set falls and guarantees threat safety. It’s a completely open source language and used widely across the world for systems programming.

Read More

Share Comments

Change MySQL Server authentication plugin for root user

Start from MySQL Server 5.7, if we do not provide a password to root user during the installation, it will use auth_socket plugin for authentication. With this configuration, MySQL won’t care about your input password, it will check the user is connecting using a UNIX socket and then compares the username. If it is match, you are authenticated!

Error when login to mysql root user from normal linux user account.

Read More

Share Comments