Hacker News new | past | comments | ask | show | jobs | submit login
Kubernetes from the ground up: the scheduler (kamalmarhubi.com)
33 points by luu on Nov 19, 2015 | hide | past | favorite | 1 comment



I just started using Kubernetes last week, and I have to say, it's pretty freaking awesome.

I've been running our infrastructure on CoreOS for almost 2 years now. I started implementing it when CoreOS was very young, so I had to deal with a lot of early adopter pains. It took me a long time to learn what Docker was, how it fit together, and how to get everything working with CoreOS's fleet and etcd. Eventually, I had a working cluster setup that would run our services in Docker containers spread across many machines. Some in the cloud, some on bare metal/VMware. It was a great learning experience.

However, I was never really happy with the setup. Despite it being a cluster, I still had to think about the individual nodes. Moreover, my integration with etcd was always a pain in terms of service discovery.

Last week, I decided to clean things up and move to Kubernetes. After watching some videos about how pods, replication controllers, services, and DNS lookups worked, I was convinced that it would greatly simplify our setup.

And it did. I could easily define our services in pods, and expose their ports via services. Then each service could discover one another via DNS lookups. Furthermore, I no longer had to worry about whether my containers were up; as long as the service is running, it "loadbalances" to the underlying pods & containers for me, automatically.

I was able to rip out my etcd integrations, and do away with my fleet unit files. I was even able to vastly simplify my Docker containers to remove some scripts like confd to deal with service hookups and watching etcd keys. And with volume mounting built-in, I'm going to be able to get rid of my overpriced-for-what-I-need PostgreSQL RDS and Redis ElastiCache instances.

And now being able to deploy rolling updates extremely simply means that I no longer have to think about how to push updates to our code. My next todo item is to set up a webhook to roll out new images across the cluster once they've been built on Quay.io and tested via some CI.

I really should blog about all of this, but suffice it to say, I'm extremely impressed with Kubernetes. I'm really glad I took the time this week to dive in.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: