Twitter | Search | |
Anthony Yeh
Software engineer working on and . Honorary Amy.
298
Tweets
109
Following
787
Followers
Tweets
Anthony Yeh retweeted
Bryan Liles Aug 7
Replying to @bryanl
Shortly afterwards, we realized that more context would helpful, so the scope expanded into a full on Kubernetes dashboard. One difference to what's running now is that Octant doesn't run in cluster. It runs locally with *your* privileges.
Reply Retweet Like
Anthony Yeh Jul 19
Replying to @BenCodeGeek
Spaces in label values? What is this, Kubernetes 95? 😄
Reply Retweet Like
Anthony Yeh Jul 8
These are all good tips, but at the same time, I now have an intense urge to sneak "Why not simply frob the gnozzle?" into my review comments.
Reply Retweet Like
Anthony Yeh retweeted
ahmet alp balkan Jul 2
Reminder to Kubernetes CRD developers out there: This one weird trick helps you generate API Reference docs for your custom resource definitions and publish them on your website, repo etc:
Reply Retweet Like
Anthony Yeh Jun 27
Iiiiiiinnteresting. :)
Reply Retweet Like
Anthony Yeh Jun 27
You could do it as a plug-in under the current topo interface, but it would be hacky and you'd miss out on a lot of the benefits of the k8s API that the topo interface can't expose. I had a similar idea, except taking it to the extreme of fully k8s-native:
Reply Retweet Like
Anthony Yeh Jun 27
Replying to @ssougou @tsaha
On this branch of the thread, we're talking about still running etcd, only we handle that for them invisibly instead of taking on an external dependency. So Vitess won't see anything different. If you're taking about the CRD idea, vtgate will discover tablets by listing CRDs.
Reply Retweet Like
Anthony Yeh Jun 27
Replying to @tsaha @ssougou
Thanks! Makes sense.
Reply Retweet Like
Anthony Yeh Jun 27
Replying to @tsaha @ssougou
Ok but hypothetically if I could do that, without depending on any other operator, would that be just as good as built in? Or is something still missing?
Reply Retweet Like
Anthony Yeh Jun 26
Replying to @dave_universetf
Thanks for putting my mind at ease. I guess it's now documented, right here -^ You're welcome, anonymous engineer who finds this thread at 2am after tearing your hair out.
Reply Retweet Like
Anthony Yeh Jun 26
Replying to @tsaha @ssougou
The objects Vitess stores in its etcd are smaller than even just the mandatory ObjectMeta section of a k8s object. They map quite well to CRDs, IMO. If I were starting Vitess today, it would store these things as CRDs and would only run inside k8s.
Reply Retweet Like
Anthony Yeh Jun 26
The CUE project recently started publishing releases: I find this exciting.
Reply Retweet Like
Anthony Yeh Jun 26
Replying to @dave_universetf
I've clocked path rule changes at up to 20min to fully propagate and I can't find anything in the docs or even anyone else on the internet complaining about such a delay. I think someone at Google is gaslighting me?
Reply Retweet Like
Anthony Yeh retweeted
ahmet alp balkan Jun 26
Have we settled the debate on if people actually want to invoke a cloud API to create a Kubernetes cluster, then use the Kubernetes API to create more resources on that cloud API and manage them via Kubernetes CRDs?
Reply Retweet Like
Anthony Yeh Jun 26
Replying to @tsaha @ssougou
I'd be curious what problems you see. Over-dependence on the k8s control plane?
Reply Retweet Like
Anthony Yeh Jun 26
Replying to @tsaha @ssougou
Ah that's interesting. I didn't think of it that way when reading your original tweet. What if the k8s operator for the datastore runs a zero-maintenance etcd cluster automatically under the hood without you even knowing? Is that any worse than built-in, from a UX perspective?
Reply Retweet Like
Anthony Yeh Jun 26
Replying to @tsaha @ssougou
I've had a crazy idea on the back burner for a while to make Vitess natively store CRDs instead of needing its own etcd. The hard part is maintaining backward compatibility so Vitess still works outside k8s. Maybe I'll do a k8s-only fork of Vitess. 😈
Reply Retweet Like
Anthony Yeh May 15
Controller-runtime is sophisticated enough that we could rebase all the core k8s controllers on it. Those controllers need to work in any possible environment where k8s runs, and they need to be zero-maintenance. Not all controllers have those needs.
Reply Retweet Like
Anthony Yeh May 15
If you want something that works for you, and just you, and you're ok going in and fixing the code when you hit a problem, sample-controller is all you need. If you want to make something that works all the time, for users you'll never meet, you need controller-runtime.
Reply Retweet Like
Anthony Yeh May 12
Yes, it is I, Anthony Yeh. I'm the one on the left. I know what I look like because of the times I Googled myself and saw my own photograph. I am a professor in Hong Kong.
Reply Retweet Like