Heart of Kubernetes: The API Server

Kubernetes API Server is the heart of everything. When you change something from the kubernetes or ICP dashboard you interact with the k8s API server via REST call.

kubectl or bx command line tool interact directly with the API Server, for example:
kubectl get namespaces NAME STATUS AGE default Active 1d kube-system Active 1d kube-public Active 1d if you run the same command with the -v9 parameter you can get debug information.

as you can see in the image a rest call was made from kubeclt client and in the output you can find the related curl command.

You can do the same via browser by exposing api server temporaly with this command

kubectl proxy --port=8080

and in the browser you will see your namespace in json format

These information are located in the etcd database, in other words k8s API server expose method to read and update etcd database and change the state of the cluster. In this way you can manipulate service, deployment and many other k8s stuf…

Kubernetes Network

As many of you know kubernetes architecture is composed by two main component Master node and Worker node, when you start your first kubernetes installation  you need to setup these components but after you finish to run your commands you realize your cluster isn’t ready to run pod because you need to install your network plugin! Yes, kubernetes doesn’t provide any network solution but use plugin instead, common plugins are:

•Container Network Interface, standard under CNCF that aim to provide a common interface
between various networking solutions and container runtimes

A network plugin by default has some requirements:

•All pod can communicate with each other across nodes
•All nodes can communicate with all pods
•No Nat is required

So basically kubernetes assign a virtual IP address to setup routing and network, the things we need to keep in mind in kubernetes the lowest compute unit is not the container but the pod ( a group of container ) on network perspective we need to…

Dominojam2025 Milan what a nice event!

Most of the people that know me can say I'm not a Domino Expert, but this face to face in IBM Milan helped me to understand not only the future of Domino, Verse and Sametime but how the interaction between IBM, Customers and Business Partner is changing. I really enjoyed the design thinking aproach to identify priority, problems and improvements. Presentation of HCL people was great and I think they are realizing how the "Silently" Domino community and Customers are a lot across all country in the world! When you talk with HCL people you can feel the entusiasm they have about this new complex mission!
I don't agree when some people said we are too late in change and empower domino, I personally thinking if a product is well designed that product isn't late anymore anytime..
I hope to hear some fresh news in Domino, Verse and Sametime at Think2018!

Proud to be part of the IBM Champion group!

I'm very proud to be part of this great group of expert people! This is my first year as IBM Champion and I would say thank you to all people voted me and trusted me!
I have many things in my 2018 roadmap to learn about Cloud and ICS and I can't wait to test all new things!
Thank you!

Containers and Docker why we need POD?

To get a fully understanding about kubernetes we need to first understand what is behind Docker and POD concept. I'll try to summarize some of the important concept because in internet you can find more detailed articles!

Many of you heard about docker first and after containers, but the core thing is container concept not Docker and the next question is why we need another abstraction like POD?!?!?

Let's talk about containers! Container is concept introduced in linux kernel long time ago and it's not a primitive but a term to describe the combination of two important feature of the linux kernel:
cgroupsnamespaces cgroups and namespace are first class object used to create an isolated process with its own view of the host resources such as, network and disk and limit host resource usage for example how much memory this process can manage.
To create a container without the help of docker we can use the syscall "unshare" : unshare --fork --pid --mount-proc bash this …

IBM Cloud Private behind the scene blog series kubernetes architecture

In this blog series I would explain some core concept about kubernetes to understand better how is life saver ICP for an IT department that facing for the first time this new technologies.
In this post I explain how it works a plain kubernetes architecture.

Kubernetes has two main components master and worker node.
Master is the main component, and is responsible in managing worker nodes state.
Worker node is responsible to mantain all the PODS ( and not a simple docker image but will cover better on the next post POD concept ) up and running.

Before to go deeper inside the architecture it's important to understand these two components.

Master node has internally four important components:

REST API Server to manage kubernetes and pod state( kube-apiserver)Scheduler watching for new pod to assign on node (kube-scheduler)Controller Manager is a complex concept, in short terms is responsibile about the cluster management and evolution state a full description is hereETCD is a key valu…

DNS error in lab setup

During a lab setup I've got a dns error

this is documented here

After I enabled loopback_dns: true installation starts normally without errors.

This setting enable the installar to use file hosts instead of dns. Enjoy your demo labs!