Kubernetes the Easy Way
blogs.cisco.com
blogs.cisco.com
Until there is an 'easy way' to instantly get that knowledge and experience, it all just smells like PR and marketing to me..
In this specific case: k3s is not k8s, and setting up an empty system has very little to do with actual working systems. Yes, it allows some local sandboxing, but so does docker or running plain static compiled binaries on your system. You can have PaaS or FaaS but as soon as you need more than that you suddenly need to learn a bit more than what code to write for your specific app.
I don't know if it's a cost-saving measure, business optimization, or just straight ego.
The whole misconception about devops, imho, is that people mistakenly expect everybody to do everything: operations people writing code (have you seen code written by an operations engineer?) and developers maintaining services and infrastructure (have you seen an infrastructure designed/maintained by a developer?).
The whole point of devops is to enable ops and dev to collaborate. Articles about setting up kubernetes are mostly pointless. I've been there, and getting a cluster up in a basic way is as simple as pointless. The complexity is somewhere else.
People willing to advocate about kubernetes should assume a cluster is already running (developers who don't want to get into operations can either download minikube or get a managed instance off digitalocean, google cloud or amazon aws) and start from there, but teaching about the applicative side of k8s: how do I run my workload on a k8s cluster? How do I expose it? How do I get the scheduler and affinity/antiaffinity to work with me instead of agaist me ? How do I manage storage? How do I get traffic routed to my application? How do I observe my application ? How do I poke it with a stick when it's not working as expected?
It's fine not to know everything.
It's fine to read just enough to understand what's going on, but then letting someone else handle the problem.
Even the official certifications are separated into CKAD (Certified Kubernetes Application Developer) and CKA (Certified Kubernetes Administrator).
Couldn't disagree more. Kubernetes is extremely easy. I work mostly in frontend, and despise devops. Or used to. Until Kubernetes came along I had no way of easily creating a load-balanced scalable service.
First learn Docker. This is independent of Kubernetes. Docker is awesome in and of itself. In Azure you can deploy web sites as docker images and there are tremendous advantages to that over traditional deployment. Once you have learned Docker you are ready to learn Kubernetes.
If your app consists of multiple microservices then you have more than one docker container. This is where Kubernetes is helpful. Kubernetes has built-in DNS, so your microservices can contact each other using DNS names.
Learn how to deploy containers as Kubernetes ReplicaSets. Then learn how to add a Kubernetes Service on top of it, then learn how to add Ingress. None of this is hard.
Kubernetes is a pleasure to use, because of commands such as "kubectl exec" to log into the container, "kubectl log" to see the log without logging into the container, "kubectl cp" to copy files in and out, "kubectl port-forward" to make a service appear to be running on your devbox and so on.
I wish we could start marking these as spam.
If you feel that an article isn't intellectually interesting and therefore isn't on topic for HN, you should flag it. (That requires karma > 30, but it isn't hard to get here.)
Even if 99 percent of the time nothing benign is happening, why get people used to doing this?