[{"content":"Hello! I\u0026rsquo;m Ming8087, a technical developer specializing in the Cloud Native and DevOps fields.\nMy Tech Stack # Backend: Go, Java, Kubernetes, Docker DevOps: Jenkins, GitLab CI, Prometheus Others: Linux, Cloud Platforms (Alibaba Cloud, Tencent Cloud) Contact Information # GitHub: Ming8087 Email: czming87@163.com ","date":"31 January 2026","externalUrl":null,"permalink":"/en/about/","section":"Xiaoming Icode's Tech Blog","summary":"Hello! I’m Ming8087, a technical developer specializing in the Cloud Native and DevOps fields.\nMy Tech Stack # Backend: Go, Java, Kubernetes, Docker DevOps: Jenkins, GitLab CI, Prometheus Others: Linux, Cloud Platforms (Alibaba Cloud, Tencent Cloud) Contact Information # GitHub: Ming8087 Email: czming87@163.com ","title":"About Me","type":"page"},{"content":"","date":"31 January 2026","externalUrl":null,"permalink":"/en/","section":"Xiaoming Icode's Tech Blog","summary":"","title":"Xiaoming Icode's Tech Blog","type":"page"},{"content":"","date":"31 January 2026","externalUrl":null,"permalink":"/en/works/devops-script/","section":"Works","summary":"","title":"Devops Script","type":"works"},{"content":" Project Introduction # An enterprise-level microservice deployment platform built on Kubernetes 1.28, including:\nAuto-scaling configuration Persistent storage solution Monitoring and alerting integration (Prometheus + Grafana) Source Code Address # GitHub Repository\n","date":"31 January 2026","externalUrl":null,"permalink":"/en/works/k8s-deploy-project/","section":"Works","summary":"Project Introduction # An enterprise-level microservice deployment platform built on Kubernetes 1.28, including:\nAuto-scaling configuration Persistent storage solution Monitoring and alerting integration (Prometheus + Grafana) Source Code Address # GitHub Repository\n","title":"K8s Deploy Project","type":"works"},{"content":" Cloud Native Related Works # K8s Microservice Deployment Solution → View Details DevOps Automated Deployment Script → View Details Tech Stack # Core: Kubernetes, Docker, Jenkins Supplementary: Prometheus, Grafana, GitLab CI ","date":"31 January 2026","externalUrl":null,"permalink":"/en/works/","section":"Works","summary":"Cloud Native Related Works # K8s Microservice Deployment Solution → View Details DevOps Automated Deployment Script → View Details Tech Stack # Core: Kubernetes, Docker, Jenkins Supplementary: Prometheus, Grafana, GitLab CI ","title":"Works","type":"works"},{"content":"","date":"31 January 2026","externalUrl":null,"permalink":"/en/archives/","section":"Archives","summary":"","title":"Archives","type":"archives"},{"content":"","date":"29 January 2026","externalUrl":null,"permalink":"/en/tags/cloud-native/","section":"Tags","summary":"","title":"Cloud Native","type":"tags"},{"content":"For developers new to cloud-native technologies, setting up a stable local K8s environment is the first step to getting started. This article implements rapid deployment based on Docker + Kind, requiring no complex hardware configurations, and is suitable for beginners to learn and test.\nI. Environment Preparation # Prerequisite: Docker installed (version 20.10+) Install Kind: curl -Lo ./kind https://kind.sigs.k8s.io/dl/v0.20.0/kind-linux-amd64 \u0026amp;\u0026amp; chmod +x ./kind \u0026amp;\u0026amp; sudo mv ./kind /usr/local/bin/ II. Build K8s Cluster in 3 Steps # Create Cluster Configuration File Create kind-config.yaml: kind: Cluster apiVersion: kind.x-k8s.io/v1alpha4 nodes: - role: control-plane extraPortMappings: - containerPort: 80 hostPort: 80 protocol: TCP ","date":"29 January 2026","externalUrl":null,"permalink":"/en/posts/cloud-native-getting-startedbuild-a-local-kubernetes-testing-environment-in-3-steps/","section":"Posts","summary":"For developers new to cloud-native technologies, setting up a stable local K8s environment is the first step to getting started. This article implements rapid deployment based on Docker + Kind, requiring no complex hardware configurations, and is suitable for beginners to learn and test.\n","title":"Cloud Native Getting Started: Build a Local Kubernetes Testing Environment in 3 Steps","type":"posts"},{"content":"","date":"29 January 2026","externalUrl":null,"permalink":"/en/tags/kubernetes/","section":"Tags","summary":"","title":"Kubernetes","type":"tags"},{"content":"","date":"29 January 2026","externalUrl":null,"permalink":"/en/tags/local-development/","section":"Tags","summary":"","title":"Local Development","type":"tags"},{"content":"","date":"29 January 2026","externalUrl":null,"permalink":"/en/posts/","section":"Posts","summary":"","title":"Posts","type":"posts"},{"content":"","date":"29 January 2026","externalUrl":null,"permalink":"/en/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"","date":"2026-01-29","externalUrl":null,"permalink":"/tags/%E4%BA%91%E5%8E%9F%E7%94%9F/","section":"Tags","summary":"","title":"云原生","type":"tags"},{"content":"","date":"2026-01-29","externalUrl":null,"permalink":"/tags/%E6%9C%AC%E5%9C%B0%E5%BC%80%E5%8F%91/","section":"Tags","summary":"","title":"本地开发","type":"tags"},{"content":"","date":"28 January 2026","externalUrl":null,"permalink":"/en/tags/automated-deployment/","section":"Tags","summary":"","title":"Automated Deployment","type":"tags"},{"content":"","date":"28 January 2026","externalUrl":null,"permalink":"/en/tags/ci/cd/","section":"Tags","summary":"","title":"CI/CD","type":"tags"},{"content":"","date":"28 January 2026","externalUrl":null,"permalink":"/en/tags/gitlab-ci/","section":"Tags","summary":"","title":"GitLab CI","type":"tags"},{"content":"","date":"28 January 2026","externalUrl":null,"permalink":"/en/tags/jenkins/","section":"Tags","summary":"","title":"Jenkins","type":"tags"},{"content":"In DevOps practices, automated build and deployment are core processes. I have used both Jenkins and GitLab CI tools, encountered many pitfalls along the way, and today I will share the pros and cons of these two tools as well as my selection recommendations.\nI. Jenkins: A Powerful Veteran Tool # Advantages\nRich plugin ecosystem: Supports integration with almost all mainstream programming languages and tools Visual configuration: Suitable for operation and maintenance personnel who are not familiar with scripting Distributed builds: Supports concurrent task execution across multiple nodes Disadvantages\nComplex deployment: Requires separate maintenance of servers and plugin versions High resource consumption: Has certain requirements for server configurations Additional security configuration needed: Default permission management is relatively loose II. GitLab CI: Seamless Integration with Code Repositories # Advantages\nZero-cost integration: Natively integrated with GitLab repositories, no additional deployment required Configuration as code: Pipeline management via .gitlab-ci.yml file, supporting version control Lightweight: Low resource consumption, suitable for small teams and personal projects Disadvantages\nRelatively limited functionality: Third-party tools are required for complex scenarios Learning curve: Requires familiarity with YAML syntax and pipeline rules III. My Selection Recommendations # Personal/small-scale projects: Prioritize GitLab CI for its simple configuration and low maintenance costs Enterprise-level complex scenarios: Choose Jenkins, whose plugin ecosystem can meet customized requirements Hybrid usage: Use GitLab CI for lightweight builds and Jenkins for complex deployment processes Conclusion # There is no one-size-fits-all best tool, only the most suitable one. Choosing based on project scale and team technology stack can maximize the value of CI/CD.\n","date":"28 January 2026","externalUrl":null,"permalink":"/en/posts/my-journey-to-selecting-the-right-automation-deployment-tool/","section":"Posts","summary":"In DevOps practices, automated build and deployment are core processes. I have used both Jenkins and GitLab CI tools, encountered many pitfalls along the way, and today I will share the pros and cons of these two tools as well as my selection recommendations.\n","title":"Jenkins vs GitLab CI: My Journey to Selecting the Right Automation Deployment Tool","type":"posts"},{"content":"","date":"2026-01-28","externalUrl":null,"permalink":"/tags/%E8%87%AA%E5%8A%A8%E5%8C%96%E9%83%A8%E7%BD%B2/","section":"Tags","summary":"","title":"自动化部署","type":"tags"},{"content":"In daily K8s usage, Pod startup failures are the most common issues. I have compiled 5 high-frequency troubleshooting scenarios and their corresponding solutions to help you quickly locate problems.\nI. Cause 1: Image Pull Failure # Symptom: Pod status shows ImagePullBackOff Troubleshooting Command:\nkubectl describe pod \u0026lt;pod-name\u0026gt; | grep ImagePull ","date":"20 January 2026","externalUrl":null,"permalink":"/en/posts/cloud-native-troubleshooting5-common-causes-and-solutions-for-k8s-pod-startup-failures/","section":"Posts","summary":"In daily K8s usage, Pod startup failures are the most common issues. I have compiled 5 high-frequency troubleshooting scenarios and their corresponding solutions to help you quickly locate problems.\nI. Cause 1: Image Pull Failure # Symptom: Pod status shows ImagePullBackOff Troubleshooting Command:\n","title":"Cloud Native Troubleshooting: 5 Common Causes and Solutions for K8s Pod Startup Failures","type":"posts"},{"content":"","date":"20 January 2026","externalUrl":null,"permalink":"/en/tags/devops/","section":"Tags","summary":"","title":"DevOps","type":"tags"},{"content":"","date":"20 January 2026","externalUrl":null,"permalink":"/en/tags/k8s/","section":"Tags","summary":"","title":"K8s","type":"tags"},{"content":"","date":"20 January 2026","externalUrl":null,"permalink":"/en/tags/troubleshooting/","section":"Tags","summary":"","title":"Troubleshooting","type":"tags"},{"content":"","date":"2026-01-20","externalUrl":null,"permalink":"/tags/%E8%BF%90%E7%BB%B4/","section":"Tags","summary":"","title":"运维","type":"tags"},{"content":"","date":"2026-01-20","externalUrl":null,"permalink":"/tags/%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5/","section":"Tags","summary":"","title":"问题排查","type":"tags"},{"content":"As a cloud-native developer, you often need to check the status of resources in a K8s cluster (such as abnormal Pods, unexposed Services, etc.). This article will teach you to write a lightweight inspection tool using Go language combined with the official K8s SDK.\nI. Technology Stack # Programming Language: Go 1.21+ Core Library: k8s.io/client-go (official K8s client library) II. Core Steps # Initialize Go Project go mod init k8s-checker go get k8s.io/client-go@v0.28.0 ","date":"15 January 2026","externalUrl":null,"permalink":"/en/posts/from-zero-to-onewrite-a-k8s-resource-inspection-tool-in-go/","section":"Posts","summary":"As a cloud-native developer, you often need to check the status of resources in a K8s cluster (such as abnormal Pods, unexposed Services, etc.). This article will teach you to write a lightweight inspection tool using Go language combined with the official K8s SDK.\n","title":"From Zero to One: Write a K8s Resource Inspection Tool in Go","type":"posts"},{"content":"","date":"15 January 2026","externalUrl":null,"permalink":"/en/tags/go/","section":"Tags","summary":"","title":"Go","type":"tags"},{"content":"","date":"15 January 2026","externalUrl":null,"permalink":"/en/tags/tool-development/","section":"Tags","summary":"","title":"Tool Development","type":"tags"},{"content":"","date":"2026-01-15","externalUrl":null,"permalink":"/tags/%E5%B7%A5%E5%85%B7%E5%BC%80%E5%8F%91/","section":"Tags","summary":"","title":"工具开发","type":"tags"},{"content":"","date":"10 January 2026","externalUrl":null,"permalink":"/en/tags/grafana/","section":"Tags","summary":"","title":"Grafana","type":"tags"},{"content":"","date":"10 January 2026","externalUrl":null,"permalink":"/en/tags/k8s-monitoring/","section":"Tags","summary":"","title":"K8s Monitoring","type":"tags"},{"content":"","date":"2026-01-10","externalUrl":null,"permalink":"/tags/k8s%E7%9B%91%E6%8E%A7/","section":"Tags","summary":"","title":"K8s监控","type":"tags"},{"content":"","date":"10 January 2026","externalUrl":null,"permalink":"/en/tags/prometheus/","section":"Tags","summary":"","title":"Prometheus","type":"tags"},{"content":"Monitoring is the \u0026ldquo;eyes\u0026rdquo; of cloud-native systems, and Prometheus + Grafana is currently the most popular monitoring combination. This article will teach you how to quickly deploy this toolset in a K8s cluster and configure a visualization dashboard.\nI. Environment Preparation # A pre-built K8s cluster (refer to my first blog post) Helm installed (K8s package management tool) II. Quickly Deploy Prometheus # Add Helm Repository helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo update ","date":"10 January 2026","externalUrl":null,"permalink":"/en/posts/prometheus-+-grafanain-practice-build-a-k8s-monitoring-dashboard-in-10-minutes/","section":"Posts","summary":"Monitoring is the “eyes” of cloud-native systems, and Prometheus + Grafana is currently the most popular monitoring combination. This article will teach you how to quickly deploy this toolset in a K8s cluster and configure a visualization dashboard.\n","title":"Prometheus + Grafana in Practice: Build a K8s Monitoring Dashboard in 10 Minutes","type":"posts"},{"content":"","externalUrl":null,"permalink":"/en/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","externalUrl":null,"permalink":"/en/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":"","externalUrl":null,"permalink":"/en/series/","section":"Series","summary":"","title":"Series","type":"series"}]