Hacker News new | past | comments | ask | show | jobs | submit login

I've been using Kubernetes on Azure and GCE recently and it's absolutely wonderful.

I was able to setup an entire ecosystem from scratch in a week that scales well and can be managed in one location.

When I first looked at Kubernetes, the complicated part was setting it up on a cluster. If you use Kubernetes on GCE, or Azure, you don't have to do that step, everything else is ready to go for you!

- Automatic scaling of your application

- Service discovery

- Secrets and config management

- Logging in one central dashboard

- Able to deploy various complicated, distributed, pieces of software very easily using Helm (Jenkins, Kafka, Grafana + Prometheus)

- Able to add new nodes to the cluster easily

- Health checks and automatic restarts

- Able to deploy any container to your cluster in a really simple way (if you look at Deployments, it's really simple.)

- Switch between cloud providers and still maintain the same workflow.

I won't ever touch Ansible again, I really prefer the Kubernetes way of handling operations (it's like a live organism instead of something you apply changes to.)

Also, the entire argument that you probably don't need Kubernetes because your organization doesn't have 10s, or 100s of nodes just doesn't make sense after using it.

Having a Kubernetes cluster with 3 nodes is 100% worth it, even for rather simple applications in my opinion. The benefits are just way too good.




I'm glad you mentioned Azure and GCE -- I started off with minikube locally and things didnt really become magical until i started using a kops-deployed AWS-EC2 cluster and saw the magic of elastic scaling, ease of deployment, and migrate-ability.

PS - Could you share which books/websites/resources you used to get up to speed to the point where you're at now?


Would you mind sharing links to any of the resources you used to get yourself going with kops on AWS? I'm in the midst of setting up my first cluster as we speak.


I used this tutorial: https://medium.com/containermind/how-to-create-a-kubernetes-...

It is also nice that I could do this on macs and linux. I used my personal MBP to do some and my office machine (system76 running Ubuntu.)

The best advice would be to create, test, delete over and over and over. I used personal AWS funds to do this while in grad school, so the added pressure of making the best use of limited funds was great -- i would spin up dozens and dozens of machines, join, run, tear down in short timeframes. As usual, choose a simple project. I chose multi-machine TensorFlow inference a model since that is something that is an obvious candidate for elasticity.

Funny story - I once spun up a K8 cluster and tried to delete the machines manually on AWS and witnessed how incredibly robust the cluster is (new nodes kept getting re-instantiated.) Lessons learned: 1. K8 is robust; 2. use kops to also tear down the cluster;

AWS has their own tutorial, but I didnt like that -- it was too focused on tangential details.


Not sure why you would throw Ansible into your pod.

Someone has to build your docker images Jenkins, Kafka and Grafana + Prometheus.

I also like Kubernetes but i don't think Kubernetes is necessary for small controlled environments.

Ansible just works with help of galaxy. I set up Jenkins, Kafka, Grafana + Prometheus faster with ansible than with kubernetes with more/easier control, specificly when i take care of stuff inside those services which are not yet thought of in the docker container.

Also the scaling thing, small companies just don't need.

There is a level of complexity to kubernetes.


How was your networking experience? Any exp running within Enterprise VPN? Private image repos in the network?

And if you needed to leave GKE to another provider or packaged , how would that look?

Thanks for any answers!


How are you handling session management? After a user logs into the application are they going to the same instance?


By not running crappy applications that can't share sessions if you want to run multiple instances of them? Otherwise, limit it to one instance.


service.spec.sessionAffinity ? - with the common scalability caveat http://nishadikirielle.blogspot.com/2016/03/load-balancing-k...




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

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

Search: