K8s basics isn’t that hard, but it builds on quite a bit of knowledge. And running anything of complexity to multiple nodes is going to take at least some intermediate tuning to get your app stable.
I started with Perl. This taught me a certain mindset that works well with Bash and Ruby. I’ve tried to learn Python several times and I just fucking hate it. I gave up when I realized that it just doesn’t work the way that my brain works.
I wonder if the outcome would have been different if I’d started with Python? How might that have shaped my thinking / reasoning? Fwiw, I was also ok with PHP and SQL, but I don’t know much or anything about the backgrounds on those foundations. Maybe my above statements were completely bullshit.
I kind of started with Python, and I hate Perl. Relying so much on global variables like $_, @_, $1, $2 is just the worst idea ever. Oh you want to call a function? Better be safe and backup all global variables you’re using, because they will be overwritten! Want to use some regex in a function? Better ensure all callers have made backups of the $1, $2, $3 variables.
The end result is just large amounts of defensive boilerplate everywhere because things will break if you don’t.
There’s also no good way to tell which functions use $_ without looking up the docs or keeping everything in memory.
The only merit Perl got in my opinion is its regex support. Quite handy for bash one liners time from time.
I used to love Perl as it worked the way my brain worked.
Then I started taking medication for ADHD.
I haven’t used Perl since except for text parsing, it’s an absolute hot mess of a language (though very powerful and functional at the things it does well)
I have a mental divergence that isn’t ADHD. I was reviewing stats on it that said people who have it are some percent more likely to have ADHD. I wonder if my previous enjoyment of Perl is because I’m on an ADHD spectrum. It would be interesting to find out.
People here are taking this way too seriously lol. I love Python, and I never really had any issues with the indentation being used instead of curly braces or something. This is just a silly meme, not a personal attack
I really like the identation aproach, or begin/end instead of curly braces or parenthesis. When people start to nest things too deep, it gets painful to look at.
Yeah, I am, without sarcasm, super agile and coordinated. I would love to have these steps. It would be fun for me every time. And I’d feel so safe at the top of my tricky stairs. Unfortunately my wife would never. She’d just be trapped downstairs.
I run 6 miles every other day. A local rails-to-trails path near me is exactly 2.5 miles long, so I have to find some way of getting in an extra mile on my runs. The trail ends at a real railroad track, so for a while I tried running a half mile on the track and back, between the rails landing on every other tie as I ran since the distance perfectly matched my stride. This went on for a couple of years until one day I was doing it and actually started thinking “wow, this is pretty amazing that I can do this and not fall”. Not five seconds later I tripped and fell, landing both elbows and both knees on tie.
Somehow I was only bruised and didn’t break anything, and after ten minutes of groaning I was able to drag myself up and even complete my run. That was my last time running on railroad ties though.
Yeah, never take it for granted. You gotta do it on purpose with your feet every time. Learning to purposely activate intuitive motion is the goal. In a way, they’re extraordinarily zen stairs. You have to be right there on the stairs every time.
Except I’m not a man, and I don’t have a cave. I’m a woman, and I have a cage. But it has to be accessible to my wife so she can let me out eventually o_o So again, no agility stairs allowed.
Of course the metal can support a person. It’s not like one side is floating in thin air. The way this is constructed, both sides of each step are supported and the metal seems thick enough to support quite a bit of weight.
The only thing that bothers me is that forward/backward motion of the steps would put a lot of strain on the connection to the wall or floor. With normal use, that motion is quite limited though.
I’m quite confident the designer of those stairs used the right thickness for the material used, which you can’t judge from a picture.
I guess that would also be a legitimate concern, as the steps are rather short. It would look a bit less sleek with longer steps, but making the steps longer while keeping the supports narrow would still look good in my opinion.
Programming languages that use white space to delimit structure are annoying at best. I get annoyed at yaml too, but I’m ok once I have a few templates set up.
These things actually matter, come up often enough to actually be annoying, and are a bit difficult to explain and learn into people. You’re basically fine if you just string quote everything that you can, but nobody does that.
Except that you have to either indent with only tabs or indent with only spaces. Any time you mix tabs and spaces you are just asking for disaster.
If you indent with only tabs you can’t align things except on tab boundaries. If you have a function that takes 10 parameters and want to do it on multiple lines, the alignment of the extra parameters is going to be ugly.
If you indent with only spaces, you can indent things so that all the parameters line up directly underneath the parenthesis, for example.
I agree we shouldn’t mix tabs with spaces. But use tabs always. I could line up parameters together but may not be just under parentheris, and it looks good and readable for me
Ok so just learn Kubernetes. And then realize that for it to be useful in a production environment, it needs like 10 other third party things, which you’ll also have to learn, and you’re done!
Thanks. So TL;DR it allows you to set up a little cloud computing service on your own physical machines, minus load balancing which you have to add on?
It can be used to scale cloud computing services as much as you want. It’s a scalable container runtime at its core. It provides a means for scaling an overlay network with service discovery and uniform ingress configuration.
I’ve found it best explained in some stackoverflow answer mentioning the pet vs cattle analogy. In short, if you know how many servers you have from the tip of your tongue, and what they do more or less, then they are akin to pets: you treat them well and keep an eye on each of them.
Kubernetes is meant for when you have so many of them, that come and go without you even noticing or caring, bearing a number for the sake of production/cost control, this is cattle. Needless to say that this is not your typical app/company running at such a scale, and that there is a 24/7 team of “ranchers” keeping an eye on the herd.
10 is a bit exaggerating. What do you really need?
ExternalDNS is nice so you don’t have to config your DNS manually. You might need to install your own Ingress controller. If you want to automatically add and renew certificates cert-manager is great. Security is important! Speaking of, you should add some kind of secret management (something like sealed-secrets, vault or Secrets Store CSI Driver).
A really important thing is monitoring so you know your pods and the cluster itself is healthy. Prometheus is still king in that regard in my opinion. PromQL isn’t that hard. Of course some kind of alerting like AlertManager is a must for prod environments. Be aware that the front ends of those tools are not behind a login so something like oauth2-proxy and dex is vital! You might want to have some visualisation too so Grafana is a nice addition. If you add Loki too you got your OPs covered.
Keeping track of all of your stuff is the hard part so some GitOps is highly recommended. ArgoCD or FluxCD are popular for a reason!
I think that should cover the basic setup so you may scale your CRUD app without worries!
programmer_humor
Newest
This magazine is from a federated server and may be incomplete. Browse more on the original instance.