Hugo Advanced Tutorial

136: Hugo Advanced Coming to the advanced part, you need to learn some advanced Hugo techniques in depth. Module Hugo modules are the core building blocks of Hugo. A module can be your main project or a smaller module that provides one or more of the 7* component types defined in Hugo: **static**, **content**, **layouts**, **data**, **assets**, **i18n** and **archetypes**. You can combine modules in any combination you like, and you can even mount directories from non-Hugo projects to form a large virtual union file system....

November 6, 2023 · 33 min · 6878 words · Xinwei Xiong, Me

Kubernetes for Kustomize Learning

Introduction About Kustomize GitHub Repository Get Started Kustomize is an open-source configuration management tool designed specifically for Kubernetes. It helps users customize Kubernetes objects and manage them declaratively without modifying the original YAML files. This means you can retain the basic settings for applications and components while overriding default settings with declarative YAML documents called “patches” without altering the original files. Kustomize provides a declarative approach that aligns with Kubernetes philosophy and allows customization of Kubernetes configurations in a reusable, fast, debuggable, and scalable manner....

October 31, 2023 · 22 min · 4565 words · Xinwei Xiong, Me

OpenIM Use Harbor Build Enterprise Mirror Repositories

Requirements OpenIM provides various public image registry addresses, such as aliyun, github, Docker Hub, and more. Read https://github.com/openimsdk/open-im-server/blob/main/docs/conversions/images.md for more image building guidelines. Most enterprises choose to set up their own image repository using Harbor, integrating it into their CI/CD pipeline to eventually replace Docker Hub and further reduce image storage costs. Additionally, in a production environment, Harbor generally enables TLS, so you will also need to prepare a valid domain name....

October 25, 2023 · 5 min · 987 words · Xinwei Xiong, Me

Learn About Automated Testing

Automated testing practices and strategies for GitHub open source Go projects in the cloud native field introduce As OpenIM, a popular project on Github, how to create value in the cloud native era is very important. OpenIM is a small and high-quality team, and we do not have particularly in-depth insights in automation. Continuous Integration and Continuous Delivery (CI/CD) using GitHub Actions: GitHub Actions provides a platform to automatically build and test Go language projects....

October 14, 2023 · 59 min · 12489 words · Xinwei Xiong, Me

In-depth understanding of the components of Kubernetes Kube apisserver

Deep understanding of Kube-APIServer kube-apiserver is one of the most important core components of Kubernetes and mainly provides the following functions Provides REST API interface for cluster management, including authentication and authorization, data verification, cluster status changes, etc. Provides a hub for data interaction and communication between other modules (other modules query or modify data through API Server, only API Server directly operates etcd) apiserver main functions: Authentication: Use the cluster to determine identity....

September 28, 2023 · 23 min · 4841 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 kubernetes etcd -raft -go categories: 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 · 6261 words · Xinwei Xiong, Me

Design Proposal: Simplified Port Configuration via Config Files for Kubernetes Deployment

Introduction In the current module’s execution, numerous ports (ws, api, rpc, Prometheus) are passed directly. This approach can be cumbersome and doesn’t align with Kubernetes' best practices where a pod typically exposes only one port (either 80 or 443). This proposal suggests transitioning to a configuration file-centric approach, while still retaining the capability to pass ports directly when needed. Goals Simplify the port configuration for Kubernetes deployment. Prioritize port values passed as arguments over configuration file values....

September 18, 2023 · 2 min · 402 words · Xinwei Xiong, Me

OpenIM clustering design Kubernetes deploy concludes

Conference and Reference Links Conference reference documents: https://nsddd.notion.site/2899028707604b8090b36677c031cdf8?pvs=4 Video playback: Bilibili: https://www.bilibili.com/video/BV1s8411q7Um/?spm_id_from=333.999.0.0 Comment: I think that middleware can be replaced with https://kubeblocks.io which can help you manage multiple database middlewares. im reads the configuration information, and reads the config/ directory. The config.yaml hard-coded in the code can be automatically divided into rpc for different services, and then unified directories. By default, the directory is read from the binary running path....

September 17, 2023 · 14 min · 2771 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

The Art of Asking Questions in Open Source Communities

Before asking a question Before you ask a technical question via email, newsgroup, or chat room, please do the following: Try searching for answers in old articles on the forum where you are asking a question. Try searching online to find the answer. Try reading the manual to find the answer. Try reading the Frequently Asked Questions document (FAQ) to find the answer. Try to check or experiment on your own to find the answer....

September 17, 2023 · 48 min · 10158 words · Xinwei Xiong, Me