So, I’m a slow learner. Tectonically slow. Sometimes it helps to keep track of the things I pick up over the course of a week to remind myself that I’m still breathing and haven’t (just) been sitting on my ass.
1/5
Things I Learned
- Use
git config --global push.default currentto avoid having to specify branch on each push (wow, can’t believe I’ve been copyinggit branchoutput this whole time…) - Use
Prefix+{to swap pane positions intmux - Istio integration framework’s
metallbinstallation uses layer 2 (ARP) mode to assign LoadBalancer IPs from the back ofkind’s subnet - You can use the
--kubeconfigflag to specify akubeconfig fileto use for akubectlcommand - Golang uses build tags to figure out which files to include in a given package. Looks like
// +build .... Can also use file suffixes likeplatform_specific_code_linux.goto accomplish this
Things I Learned I Need to Learn More About
- Don’t understand how the
revisionfield in theIstioOperatorcorrelates to therevisionfield in Helm values - Don’t understand why Envoy sets up listeners on
targetPortfor Gateways
1/6
Things I Learned
- Istio sets up
inboundlisteners ontargetPortsince when the request reaches the proxy it will have already been translated by k8s networking layer! Makes sense, was thinking from outbound perspective where the listener should be on theport - ValidationWebhook broken for Istio revisions in general because the chart exists in base and points to
/validateon anistiodinstance
Things I Learned I Need to Learn More About
- When a port 80 Gateway is created on an
ingress-gatewaywith service mapping80->8080, the listener will be configured to listen on port8080. Where does this translation happen in the listener generation code? - More about KNative! Don’t know the first thing about it
1/7
Things I Learned
- You can use
replace istio.io/api => /path/to/local/api/workwith go modules to replace dependencies with local versions (handy foristio/apiexperimentation, but cannot build in container without extra work) - Lots of things about how Istio translates from
IstioOperatorspec to Helm values (some things I wish I didn’t know…) istioctl install --revision ...is an alias foristioctl install --set revision=...- You can set
parallelismon Kubernetes jobs to determine how many pods to run at any given time
Things I Learned I Need to Learn More About
- The differences between the
istio-remoteandistio-controlcharts in the Istio manifests - How does a request that reaches a Gateway with
X-Forwarded-Protoget treated by Envoy? - What is the difference between the
protocolfield and theappProtocolfield on a service port?