IPVS with Kubernetes Ingress

In addition to the Kubernetes stack on AWS, I’m also helping to build an on-premise Kubernetes platform. We want to continue to leverage feed, the ingress controller we built. Ingress generally requires an external IP load balancer to front requests from the internet and elsewhere. In AWS we use ELBs. For on-premise, we need to build our own.

The solution we’ve settled on for now is:

  • IPVS with consistent hashing (using built-in source hash module) and direct-return.
  • gorb to provide an API for ipvs so our ingress controller can attach and detach itself.
  • VIPs registered to a DNS entry with active/passive failover, handled by keepalived.

Continue reading “IPVS with Kubernetes Ingress”

Information Organisation in an Age of Algorithms

Compare these two songs, with otherwise identical lyrics:

  1. https://www.youtube.com/watch?v=-tJYN-eG1zk
  2. https://www.youtube.com/watch?v=22AWPW5s4EA

Do you hear a difference? One was written and performed by musicians. The other by an algorithm (Microsoft’s Songsmith). Which would you prefer to listen to?

Continue reading “Information Organisation in an Age of Algorithms”

Blogging more

I’ve been meaning to blog a lot more. It improves my writing skills, and also gives me a nice place to capture my thoughts in a long form before I forget.

One of the main impediments for me is the blogging platform I’ve been using – Jekyll with Github pages. It’s simply too much to quickly write a post. In an attempt to blog more, I’ve moved my site to wordpress.com.

Continue reading “Blogging more”

A couple of London commuting routes by bike

I moved to the UK a few months ago. One of the first things I did was pick up a Brompton for my multimodal commute. I ride to the station in the morning, take the train, then go from the station to my office by bike. I save quite a bit on travel card costs (which let’s one use a railcard for the London underground), so my bike will pay for itself before too long.

Finding the right route for me took some trial and error, and I’m still improving it. Here’s what I have so far.

Continue reading “A couple of London commuting routes by bike”

Assign an automatic JMX port to a Java application

VisualVM and jconsole are two useful tools for debugging JVM issues. However they both rely on a JMX port to be open on the remote instance. You can work around this on the fly by running jstatd on the remote host, but you’ll find certain things disabled. So ideally, the jmx port will be enabled on startup.

Continue reading “Assign an automatic JMX port to a Java application”

Thinkpad X220 Review

After returning my previous company’s Macbook Air, I was in the market for a laptop for doing personal stuff and software dev. The MBA is almost the perfect hardware in my mind – it’s extremely light, has a quality build, 8 hours of battery life, a really amazing TN screen, and i7 processor. With linux loaded on it, it flies. But, unfortunately, there are a couple drawbacks that led me to look elsewhere. The horrible chiclet keyboard and – the ultimate dealbreaker – the price. A fully loaded 12” MBA costs around $1800, and they don’t resell for much less.

Continue reading “Thinkpad X220 Review”