Kubernetes
Can /var/lib/docker Be Mounted on Remote Storage?
· β˜• 5 min read
No. 1. Background When building a reliable, stable operations system on top of Kubernetes, destroying and creating virtual machines (VMs) is the norm. VMs provide compute and memory resources, while external storage is exposed to PVCs in the cluster through a StorageClass. Against this backdrop, how to initialize a VM quickly becomes a new challenge.

Best Practices for Jenkins on Kubernetes
· β˜• 5 min read
1. Configure Larger -Xms -Xmx Parameters Jenkins is an orchestration engine written in Java, and it stops the world (STW) during a Full GC. At large build scale, STW can prevent Jenkins from handling new requests. To avoid frequent STW while also increasing concurrency, it is recommended to set a larger heap, -Xms3g -Xmx6g -XX:MaxRAM=6g.

Kubernetes Network Isolation (with a Dozen-Plus Use Cases)
· β˜• 12 min read
1. Network Isolation in Kubernetes Kubernetes introduced Network Policy in 1.3. It defines entities through ipBlock, podSelector, and namespaceSelector, and controls their From (Ingress) and To (Egress) traffic behavior. But Kubernetes only defines the network policy; the actual implementation depends on the network plugin. Today, network plugins such as Calico, Cilium, and Weave Net all support network isolation.

Jenkins vs. Tekton
· β˜• 1 min read
Below is a list comparing Jenkins and Tekton: Feature Jenkins Tekton Programming language Java Golang Language for developing plugins Java Shell, Yaml Pipeline description language Groovy, Shell Yaml, Shell Plugin ecosystem Many plugins, LDAP, GitLab Lacking Number of plugins 1500+ 100+ Compatibility between plugins May conflict, cannot be upgraded freely Fully compatible Secondary development Wrapping the API Composing Tasks High availability Integrates Gearman, master-slave mode Relies on Kubernetes’ high availability Concurrent build scale per instance A few hundred concurrent builds Relies on Kubernetes’ Pod management capability, so it can be very large Data storage Local disk Etcd Supports automatic triggering Yes Yes Has commercial support No No

How Tekton Connects to Physical Machines for Builds
· β˜• 10 min read
1. Why Physical Build Machines Are Needed In the article How to Add a Remote macOS Physical Machine for Jenkins Pipeline Builds, I described how to add a physical build machine in Jenkins. This was not a requirement I made up on a whim β€” at the time, real ToB commercial customers were actually asking for a solution.