Hello everyone. This post is a detailed QA for Part 1 in the Kubernetes Webinar Series.
What’s the difference between Kubernetes & CloudFoundry?
I have no experience with CloudFoundry so I cannot answer this question. Luckily, a committer to Kubernetes & CloudFoundry has discussed this topic on Stack Overflow.
So we are actually looking to use Openshift for our Microservices, and I know that it's using Kubernetes under the hood, what further functionality is OpenShift adding to Kubernetes?
You are correct that OpenShift is built on Kubernetes. I have no experience with OpenShift so I’m not qualified to give you the best information. Many people have chimed in on Quora.
Is there any performance analysis between Kubernetes vs. Docker Swarm?
Sorry, I don't know any off the top of my head.
What language can we use to create apps using kubernetes?
Kubernetes runs applications containers. An image may be built to include any language (Golang, Node.js, or Ruby, etc) or framework (Express.js, Rails, Spring, etc). You can build applications that talk to the Kubernetes API as long as they can speak HTTP.
Do you recommend Minikube for development?
Yes. I highly recommend using Minikube to play around with Kubernetes.
How do you to access the application in Kubernetes externally?
Services exposed pods to the internet. Read the linked user guide to understand more.
How can I detect security attacks on these machines and block them?
You can use your existing best practices to monitor cluster nodes for unusual activity. Kubernetes does not negate existing security practices.
Is Google Container Engine (GKE) a hosted Kubernetes solution?
Yes, Google Container Engine (GKE) is a hosted solution. Google will provision and manage the cluster for you. It’s a turn key solution.
How do you authenticate to a private registry?
You can login into your registry on each node or use image pull secrets. This guide covers everything.
What console pane manager application you are using? Any windows equivalent?
I use tmux. I don’t think there is an equivalent for windows.
Kubernetes will scale out and in the cluster for us?
No, you must configure cluster autoscaling yourself. Adding nodes is each; removing nodes is more complicated because you should drain the node to move containers to other nodes before downscaling. Kubernetes does autoscale containers for you when configured.
Where we can find detailed installation of Kubernetes not in automated way but step by step?
Kelsey Hightower’s Kubernetes the Hard Way
Is there any microservice project available to test the K8's setup for different microservices?
I don’t know of specific Kubernetes oriented projects. The sample application includes hits many microservice aspects. It’s a good way to test out different orchestration tools.
Can you show an example of an autoscale policy?
Kubernetes support autoscaling containers based on CPU. You can read more about it in this guide. You can find the “policy” by looking at the HorizontalPodAutoscaler resource.
How do you export your kubernetes health checks into another monitoring service, or can you monitor from kubernetes directly?
Kubernetes probes (aka “health checks”) are used for testing individual containers. The probes tell Kubernetes to either restart the container or take it out of service. I consider this private internal data. You can get container metrics via the API and push them them to another metric collection tool.
How does Kubernetes handle persistent storage (like a database for example)?
Is a single Kubernetes cluster sufficient for running production, QA, Dev environments or is it best practice to maintain separate clusters per environment?
One cluster is enough. You can separate environments with namespaces and configure different authorization rules for each. You could create multiple clusters for each environment but that only creates more overhead. I suggest minimizing the number of clusters as much as possible.
How do you compare Swarm with this?
They offer similar feature sets with one big difference. The docker CLI can communicate directly with a Docker Swarm. Thus, tools like docker-compose work seamlessly with a Docker Swarm. Kubernetes is a bit different. Kubernetes only deals with container images and runs them. You cannot use Kubernetes to build Docker images for example.
Does Kubernetes have a GUI interface?
There is a web dashboard. This is fine for simple thing. I recommend you focus on kubectl because it can handle everything and is scriptable. Your ultimate success with Kubernetes depends on your skill with kubectl.
Would it be possible to use a Kubernetes cluster to test web applications (interface, UI/UX)?
I’m not sure exactly what you mean, but I think the answer is yes. Test applications need to be run somewhere. You can certainly use Kubernetes to deploy an application for any purpose (test, QA, production etc). In fact, if you’re using Kubernetes for one stage you can possibly reuse it for other stages.
Benefits of namespaces?
Resource separation, authorization policies, and quotas. More in the namespace guide.
Wondering about larger deployments. For hundreds of containers, do you use smaller deployments, or just one large one, and hope nothing breaks?
Kubernetes using a rolling update strategy. This works well for 1, 10, or 100 containers. You can pause, resume, and undo deployments. This gives you more control over checking along the way to make sure things are working as expected. I recommend you configure application specific probes so the deployment knows about container correctness. See the deployment guide for more information.
Can you recommend any documentation that shows bare metal kubernetes installation?
Kelsey Hightower’s Kubernetes the Hard Way
How do we actually create cluster on other providers like aws?
Kops can create clusters on AWS or GCP.