3 min read

Knative OSS Diaries - week #15

Ohhhh my....!! what a week! I don't even know where to start, I will try to keep it short and I will leave my notes about KubeCon at the end.

This week was all about KubeCon and quite a bit of promotion on the book that I am writing for Manning. My session at KubeCon was very aligned with the topics and tools that I am covering in my Continuous Delivery for Kubernetes (still 50% off with the code: mlsalatino2) book, trying to keep it very developer-focused, always making sure that we have a Multi-Cloud angle and of course only using OSS tools. If you are interested in my presentation titled: Tool I wish existed 3 years ago to build a SaaS platform, the video is going to be released in a couple of weeks to YouTube and I will be creating a separate blog post for that. In the meantime, I wrote a blog post for the VMware Tanzu Blog on the same topic that tries to cover some of the same tools following the same approach: Building Platforms on top of Kubernetes.

I've been commenting about this for the last couple of weeks but now it is official: Knative is going 1.0 and the reference implementations for Serving and Eventing are going GA, this was announced in the Official Knative Blog and the confirmed date is the 2nd November 2021 (this is definitely an early Xmas gift for all the Cloud Native ecosystem). All PRs for Knative Serving are closed and there is just one pending PR to review on Knative Eventing, which makes me very confident that this release is going to be a big milestone. Also at KubeCon Evan Anderson (Knative Project Founder) presented about Knative Func which uses buildpacks to provide an awesome developer experience while building functions 120% recommended to check out: Function to Container - Building a FaaS Platform

My KubeCon Slides

[slideshare id=250452825&doc=kubeconna2021-211015192033]

I was blown away by the feedback and the Crossplane folks made my week with this tweet. Crossplane is becoming a fundamental piece and glue to provision software on top of Kubernetes, so I am really glad that they like the presentation and the examples (that you can find here: http://github.com/salaboy/from-monolith-to-k8s and give it a start if you like them as well)

My very raw KubeCon Notes

Evan's session:

Salesforce SaaS: https://sched.co/lV4K

  • MultiCluster Kubernetes
    • Reasons
      • Geography hybrid environments
        • At least one cluster in each region
      • Billing model
        • Align better
      • Security and Compliance
    • Challenges
      • Networking.. between clusters
      • Apps that needs to communicate to each other
    • SIGs MultiCluster
      • Creating API standards
      • MultiClusterServices 
        • export and import services across clusters
      • Gateway API / Kubernetes Ingress V2
        • MultiCluster Ingress
  • apiclarity.io  (CISCO)
    • API clarity, look at traffic to create openAPI spec
    • Find API deprecated
    • User UI
    • Envoy to forward traffic
  • Bridge for Kubernetes in VS Code, this was a great developer experience and demo
    • GitHub Actions with Preview environments ala Jenkins X, Preview created with Helm
    • Preview experience integrated with VS Code plugin (Bridge for Kubernetes) which used something like Telepresence
    • I should check out if it works with Go and Java
  • Sieve (github.com/sieve-project/sieve) For testing controllers
    • Test for 
      • Safety (it doesn’t do something bad)
      • Liveness (eventually works)
    • How does it work
      • Learning mode
        • When to Lag API server?
        • When to restart to cause issues?
        • Needs to trace an execution and controller and timing
      • Testing mode
      • In learning it checks for if the reconciler will fail if a state change is missed
      • Written in Python.. that was a big downside for me to check it out
  • KubeFed
    • Mck8s this looked quite scientific and research oriented, I should check it out
      • Automated placement 
      • Autoscaling multi cluster and cluster nodes
      • Inter-cluster network routing and load balancing
  • Multitenancy vcluster: https://github.com/loft-sh/vcluster
    • Cluster control plane inside a namespace
    • Simplify the management and security
    • Syncer syncs only Pods to ETCD so pods gets scheduled in the real cluster
    • You can pause Vcluster (not sure if this is product only)
    • This is something to try out as Virtual Clusters inside a Kubernetes Cluster for multi tenancy is quite a good proposal