Kubernetes Control Plane - Detailed Analysis of Kubelet

Kubelet Component Analysis Understanding kubelet The Kubelet component runs on Node nodes, maintaining running Pods and providing Kubernetes runtime environment, mainly accomplishing the following missions: Monitor Pods assigned to this Node Mount volumes required by Pods Download Pod secrets Run containers in Pods through docker/rkt Periodically execute liveness probes defined for containers in Pods Report Pod status to other system components Report Node status The core process of kubelet managing Pods mainly includes three steps....

September 28, 2023 · 10 min · 1991 words · Xinwei Xiong, Me

Kubernetes Control Plane - Scheduler

Scheduler kube-scheduler is responsible for scheduling and assigning Pods to nodes within the cluster. It listens to kube-apiserver, queries for Pods that haven’t been assigned to Nodes, and then assigns nodes to these Pods based on scheduling policies (updating the Pod’s NodeName field). The scheduler needs to fully consider many factors: Fair scheduling; Efficient resource utilization; QoS; affinity and anti-affinity; data locality; inter-workload interference; deadlines. kube-scheduler scheduling is divided into two phases, predicate and priority:...

September 28, 2023 · 9 min · 1770 words · Xinwei Xiong, Me

Deep Dive Into the Components of Kubernetes Etcd

title: ‘In-depth understanding of Kubernetes and other components ETCD’ ShowRssButtonInSectionTermList: true cover.image: date: 2023-09-26T12:03:38+08:00 draft : false showtoc: true tocopen: false type: posts author: [“Xinwei Xiong”, “Me”] keywords: [“kubernetes”, “etcd”, “raft”, “go”] tags: [“Blog”] blog kubernetes etcd -raft -go categories: [“Technology”] Development Blog Kubernetes description: > This article will explain ETCD and Raft in depth and throughout. And analyze ETCD in depth from the perspective of Kubernetes. Before starting ETCD is the hardest of all components in Kubernetes because ETCD is stateful, not stateless....

September 28, 2023 · 30 min · 6262 words · Xinwei Xiong, Me

Reflection on Open Source Commercialization & Learning and Summary of Global Traffic Conference (GTC)

Introduction: Global Perspective at the Shenzhen Futian Convention and Exhibition Center On December 6, 2023, the GTC 2023 Global Traffic Conference was held in full swing at the Shenzhen Futian Convention and Exhibition Center. This grand event brought together technology elites from around the world to explore the cutting-edge trends and future developments in the internet industry. As a participant, I had the privilege of immersing myself in this exchange between technology and business, particularly the theme of “Focusing on Open Source and Pioneering Global Expansion,” which left a profound impression on me....

September 17, 2023 · 26 min · 5409 words · Xinwei Xiong, Me

Cross Platform Compilation

Preface https://github.com/OpenIMSDK/Open-IM-Server/issues/432 Many places now have requirements for local adaptation of services. Generally, localized platforms provide an arm version of Linux cloud environment for us to deploy services, so it is necessary to build an arm version of the image. Build plan In the above issue, we describe the general construction ideas and solution steps. Let’s take a look at the construction plan. We take the most commonly used amd machine as an example to compile arm....

September 16, 2023 · 14 min · 2920 words · Xinwei Xiong, Me

GoReleaser: Automate your software releases

The goal of GoReleaser is to automate much of the tedious work when releasing software, by using sensible defaults and making it simple for the most common use cases. Preparation: .goreleaser.yaml file: contains all configuration information. (For more information, see Customization) Clean working tree: Make sure the code is up to date and all changes have been committed. SemVer compliant version number (e.g. 10.21.34-prerelease+buildmeta) GoReleaser running steps: The operation of GoReleaser is mainly divided into the following four steps:...

September 16, 2023 · 53 min · 11195 words · Xiong Xinwei, Me

Advanced Githook Design

What to do if the community is not standardized As the COO of the OpenIM community, I am responsible for the communtiy and [GitHub configuration repository](https:/ /github.com/OpenIMSDK/.github) has been fully configured. And architect and design the entire OpenIM Makefile and CICD flows, as well as the log package, error codes, collaborative flows, contributor documents and community documents used by the entire OpenIM. There will always be some problems at this time, even if you think your Contributor Document is very awesome....

June 16, 2023 · 9 min · 1871 words · Xinwei Xiong, Me