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 current
to avoid having to specify branch on each push (wow, can’t believe I’ve been copyinggit branch
output this whole time…) - Use
Prefix+{
to swap pane positions intmux
- Istio integration framework’s
metallb
installation uses layer 2 (ARP) mode to assign LoadBalancer IPs from the back ofkind
's subnet - You can use the
--kubeconfig
flag to specify akubeconfig file
to use for akubectl
command - 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.go
to accomplish this
Things I Learned I Need to Learn More About
- Don’t understand how the
revision
field in theIstioOperator
correlates to therevision
field in Helm values - Don’t understand why Envoy sets up listeners on
targetPort
for Gateways
1/6
Things I Learned
- Istio sets up
inbound
listeners ontargetPort
since 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
/validate
on anistiod
instance
Things I Learned I Need to Learn More About
- When a port 80 Gateway is created on an
ingress-gateway
with 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/work
with go modules to replace dependencies with local versions (handy foristio/api
experimentation, but cannot build in container without extra work) - Lots of things about how Istio translates from
IstioOperator
spec to Helm values (some things I wish I didn’t know…) istioctl install --revision ...
is an alias foristioctl install --set revision=...
- You can set
parallelism
on 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-remote
andistio-control
charts in the Istio manifests - How does a request that reaches a Gateway with
X-Forwarded-Proto
get treated by Envoy? - What is the difference between the
protocol
field and theappProtocol
field on a service port?