Learning
What Is Left Shift
· β˜• 3 min read
1. What Left Shift Is It should be noted that “left” here is not the political left, standing for conservatism or radicalism, but the left that describes a process β€” moving things earlier in time. I first came across “left shift” while researching automated testing. The idea is appealing, and putting it into practice is simple.

Backing Up a Kubernetes Cluster with Velero
· β˜• 8 min read
1. Introduction to Velero Velero is an open-source Kubernetes cluster backup and migration tool from the heptio team (acquired by VMWare). Velero stores cluster resources in object storage. It supports AWS, Azure, and GCP object storage by default, is compatible with the S3 protocol, and can be extended to other platforms such as Aliyun OSS through plugins.

Basic Operations for Deployments in Kubernetes
· β˜• 3 min read
A Deployment controls the number and state of Pods by creating ReplicaSets. This post mainly introduces some common Deployment operations. 1. Deployment yaml Format Passing the --dry-run flag means the command is not actually executed, only YAML output is generated: 1 kubectl create deployment nginx --image=nginx --dry-run -o yaml apiVersion: apps/v1 kind: Deployment metadata: creationTimestamp: null labels: app: nginx name: nginx spec: replicas: 1 selector: matchLabels: app: nginx strategy: {} template: metadata: creationTimestamp: null labels: app: nginx spec: containers: - image: nginx name: nginx resources: {} status: {} 2.

How to Develop an Operator Using KubeBuilder
· β˜• 8 min read
With the Operator approach, Kubernetes functionality can be extended in a friendly way. Operator = CRD + Controller. First you generate the CRD from a yaml definition, then the Controller continuously watches the data in etcd and performs the corresponding actions. There is a lot of tedious and repetitive work involved in developing an Operator.

Summary of Kubernetes 1.6.0 Installation Problems
· β˜• 2 min read
1. CNI Problems Error log 1 2 journalctl -u kubelet ...Unable to update cni config: No networks found in /etc/cni/net.d Because no CNI is installed, you need to remove --network-plugin=cni from the parameters in /var/lib/kubelet/kubeadm-flags.env. 1 2 cat /var/lib/kubelet/kubeadm-flags.env KUBELET_KUBEADM_ARGS="--cgroup-driver=systemd --pod-infra-container-image=k8s.gcr.io/pause:3.1" 2. Node NotReady There can be many reasons for a node being NotReady.