<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:media="http://search.yahoo.com/mrss/"><channel><title>Deployment on Shaowen Chen's Website</title><link>https://www.chenshaowen.com/en/tags/deployment/</link><description>Recent content in Deployment on Shaowen Chen's Website</description><generator>Hugo -- gohugo.io</generator><language>en</language><copyright>&amp;copy;2016 - {year}, All Rights Reserved.</copyright><lastBuildDate>Tue, 14 Apr 2026 00:00:00 +0000</lastBuildDate><sy:updatePeriod>weekly</sy:updatePeriod><atom:link href="https://www.chenshaowen.com/en/tags/deployment/atom.xml" rel="self" type="application/rss+xml"/><item><title>Loggie Deployment and Configuration</title><link>https://www.chenshaowen.com/en/blog/loggie-deployment-and-configuration.html</link><pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate><atom:modified>Tue, 14 Apr 2026 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/loggie-deployment-and-configuration.html</guid><description>1. Download the Chart Package 1 git clone https://github.com/loggie-io/installation 2. Install loggie 1 cd installation/helm-chart 1 helm install loggie ./ -nloggie --create-namespace 3. Global Configuration Changes Remove the timestamp in front of stdout 1 kubectl -n loggie edit cm loggie-config-loggie Set parseStdout to true to remove the timestamp in front of stdout.</description><dc:creator>微信公众号</dc:creator><category>Loggie</category><category>Logging</category><category>Storage</category><category>Deployment</category><category>Kubernetes</category><category>Operations</category></item><item><title>A File System for AI Agents - AGFS</title><link>https://www.chenshaowen.com/en/blog/agfs-file-system-for-ai-agent.html</link><pubDate>Wed, 25 Mar 2026 11:22:55 +0000</pubDate><atom:modified>Wed, 25 Mar 2026 11:22:55 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/agfs-file-system-for-ai-agent.html</guid><description>1. Introduction to AGFS Overview AGFS is a project that provides storage services through a RESTful API. It supports a variety of storage backends, including memory, files, databases, message queues, and more.
Because it does not need POSIX interface support, data can be stored through remote calls, which is very useful in AI Agents.</description><dc:creator>微信公众号</dc:creator><category>AI</category><category>AGFS</category><category>Storage</category><category>Validation</category><category>Deployment</category></item><item><title>MinIO Multi-Node, Multi-Disk Deployment and Operations</title><link>https://www.chenshaowen.com/en/blog/minio-multi-node-multi-disk-deployment-and-maintenance.html</link><pubDate>Sat, 07 Feb 2026 00:00:00 +0000</pubDate><atom:modified>Sat, 07 Feb 2026 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/minio-multi-node-multi-disk-deployment-and-maintenance.html</guid><description>1. Environment Preparation 1.1 Preparing Data Disks Inspect the data disks 1 lsblk -d -o NAME,SIZE,TYPE | grep nvme 1 2 3 4 nvme0n1 745.2G disk nvme1n1 745.2G disk nvme2n1 745.2G disk nvme3n1 745.2G disk Prepare the storage directories 1 2 3 for i in {0..3}; do mkdir -p /mnt/data${i} done Format the data disks 1 2 3 for i in {0.</description><dc:creator>微信公众号</dc:creator><category>MinIO</category><category>Storage</category><category>Distributed Systems</category><category>Operations</category><category>Learning</category><category>Object Storage</category><category>S3</category><category>Deployment</category><category>High Availability</category></item><item><title>Deploying PD-Disaggregated Applications with vLLM</title><link>https://www.chenshaowen.com/en/blog/using-vllm-to-deploy-pd-disagg-app.html</link><pubDate>Sat, 20 Sep 2025 00:00:00 +0000</pubDate><atom:modified>Sat, 20 Sep 2025 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/using-vllm-to-deploy-pd-disagg-app.html</guid><description>1. Why Deploy LLM Applications with PD Disaggregation In the process of LLM inference, there are two serial stages: Process the entire input context and generate the KV Cache (Prefill stage) Incrementally generate new tokens (Decode stage) These two stages have different resource requirements. The Prefill stage has to compute</description><dc:creator>微信公众号</dc:creator><category>vLLM</category><category>Deployment</category><category>PD</category><category>Disaggregation</category><category>Application</category></item><item><title>Deploying Jumpserver as a Bastion Host on Kubernetes</title><link>https://www.chenshaowen.com/en/blog/how-to-deploy-jumpserver-on-kubernetes.html</link><pubDate>Thu, 09 Jan 2025 00:00:00 +0000</pubDate><atom:modified>Thu, 09 Jan 2025 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/how-to-deploy-jumpserver-on-kubernetes.html</guid><description>1. Deploying Jumpserver You need a StorageClass ready in advance to store Jumpserver&amp;rsquo;s data. Besides the database mentioned below, each component — jms-core, jms-web, jms-koko, jms-lion, jms-chen — also needs a PV for storage. 1.1 Deploying MySQL Refer to https://github.com/shaowenchen/ops-hub/blob/main/database/mysql8.yaml to deploy MySQL. You need to adjust the StorageClass field</description><dc:creator>微信公众号</dc:creator><category>Kubernetes</category><category>Jumpserver</category><category>Security</category><category>Operations</category><category>Bastion Host</category><category>Deployment</category><category>Learning</category></item><item><title>LLM Deployment Tool llama.cpp</title><link>https://www.chenshaowen.com/en/blog/llama-cpp-that-is-a-llm-deployment-tool.html</link><pubDate>Tue, 05 Sep 2023 00:00:00 +0000</pubDate><atom:modified>Tue, 05 Sep 2023 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/llama-cpp-that-is-a-llm-deployment-tool.html</guid><description>1. LLM Deployment Tool llama.cpp Research on large models is split into two parts: training and inference. The training process is essentially the process of finding model parameters that minimize the model&amp;rsquo;s loss function and optimize the inference results. Once training is complete, the model&amp;rsquo;s parameters are fixed, and at</description><dc:creator>微信公众号</dc:creator><category>AI</category><category>LLM</category><category>Tools</category><category>llama.cpp</category><category>Inference</category><category>Deployment</category></item><item><title>DevOps Toolchain: Argo CD</title><link>https://www.chenshaowen.com/en/blog/argocd-of-devops-tool-chain.html</link><pubDate>Thu, 04 Feb 2021 00:00:00 +0000</pubDate><atom:modified>Thu, 04 Feb 2021 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/argocd-of-devops-tool-chain.html</guid><description>1. What Problem Argo CD Solves 1.1 Starting from GitOps GitOps originated from a blog post published by Weaveworks in 2017: GitOps - Operations by Pull Request. In it, Alexis introduced a deployment approach that treats Git as the single source of truth.
In GitOps practice, we need to define software infrastructure in a Git repository for management.</description><dc:creator>微信公众号</dc:creator><category>DevOps</category><category>ArgoCD</category><category>Kubernetes</category><category>CICD</category><category>GitOps</category><category>Operations</category><category>Learning</category><category>Deployment</category><category>Best Practices</category></item><item><title>Basic Operations for Deployments in Kubernetes</title><link>https://www.chenshaowen.com/en/blog/basic-operation-of-deployment-in-kubernetes.html</link><pubDate>Fri, 27 Sep 2019 00:00:00 +0000</pubDate><atom:modified>Fri, 27 Sep 2019 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/basic-operation-of-deployment-in-kubernetes.html</guid><description>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.</description><dc:creator>微信公众号</dc:creator><category>Kubernetes</category><category>Deployment</category><category>Deployment</category><category>Learning</category><category>Operations</category></item><item><title>Kubernetes' Package Manager -- Helm</title><link>https://www.chenshaowen.com/en/blog/package-manager-helm-of-kubernetes.html</link><pubDate>Wed, 24 Jul 2019 00:00:00 +0000</pubDate><atom:modified>Wed, 24 Jul 2019 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/package-manager-helm-of-kubernetes.html</guid><description>1. Why Helm Is Needed One important design philosophy in Kubernetes is declarative operation. Users change the system by setting the system&amp;rsquo;s expected state. For example, the current replica count is 2 and it needs to be adjusted to 3. The declarative way is to modify the replica count in</description><dc:creator>微信公众号</dc:creator><category>Kubernetes</category><category>Helm</category><category>Practice</category><category>Operations</category><category>Package Management</category><category>Learning</category><category>Chart</category><category>Deployment</category></item><item><title>PaaS Deployment with Buildpack</title><link>https://www.chenshaowen.com/en/blog/buildpack-for-paas-deployment.html</link><pubDate>Thu, 24 Jan 2019 00:00:00 +0000</pubDate><atom:modified>Thu, 24 Jan 2019 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/buildpack-for-paas-deployment.html</guid><description>I have been learning Go recently, and the internal PaaS platform we commonly use happens to support Go as well as related Web frameworks. A PaaS system that supports multiple languages cannot do without the buildpack mechanism. Although PaaS platforms keep being upgraded, the buildpack mechanism has always been retained.</description><dc:creator>微信公众号</dc:creator><category>PaaS</category><category>Buildpack</category><category>Operations</category><category>R&amp;D</category><category>Deployment</category><category>Learning</category><category>Cloud Native</category><category>Multi-language</category></item><item><title>How to Use a CDN for Further Frontend/Backend Separation - CI Scripts</title><link>https://www.chenshaowen.com/en/blog/ci-script-of-how-to-use-cdn-to-separate-frontend-and-backend-more.html</link><pubDate>Sat, 15 Sep 2018 00:00:00 +0000</pubDate><atom:modified>Sat, 15 Sep 2018 00:00:00 +0000</atom:modified><guid>https://www.chenshaowen.com/en/blog/ci-script-of-how-to-use-cdn-to-separate-frontend-and-backend-more.html</guid><description>In a team, any change to the development workflow must be paired with the corresponding automation tooling. Without a low enough cost of use, the change is meaningless, because nobody will actually use it. In the previous post we covered how to use a CDN for further frontend/backend separation; this</description><dc:creator>微信公众号</dc:creator><category>CI</category><category>CDN</category><category>Optimization</category><category>Deployment</category><category>PaaS</category><category>Scripting</category><category>DevOps</category><category>R&amp;D</category></item></channel></rss>