基于 Kubernetes 1.29 + KubeSphere 4.0 的企业级容器管理平台完整部署方案
本报告提供了完整的 Kubernetes 1.29 集群部署方案和 KubeSphere 4.0 可视化管理平台安装指南。通过自动化的部署脚本和标准化的配置流程,帮助企业快速构建生产级的容器管理平台。
| 主机名 | IP 地址 | 角色 | CPU | 内存 | 磁盘 |
|---|---|---|---|---|---|
| master1 | 192.168.60.151 | control-plane, etcd | 4 核 | 8GB | 100GB |
| master2 | 192.168.60.152 | control-plane, etcd | 4 核 | 8GB | 100GB |
| master3 | 192.168.60.153 | control-plane, etcd | 4 核 | 8GB | 100GB |
| worker1 | 192.168.60.154 | worker | 8 核 | 16GB | 200GB |
| worker2 | 192.168.60.155 | worker | 8 核 | 16GB | 200GB |
| worker3 | 192.168.60.156 | worker | 8 核 | 16GB | 200GB |
# 关闭防火墙和 SELinux
sudo systemctl stop firewalld
sudo setenforce 0
# 关闭 Swap
sudo swapoff -a
# 配置内核参数
cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system
# 安装 containerd
sudo apt-get install -y containerd
# 生成配置
sudo mkdir -p /etc/containerd
sudo containerd config default | sudo tee /etc/containerd/config.toml
# 修改使用 systemd cgroup
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml
sudo systemctl restart containerd
# 添加 Kubernetes 源
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.29/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.29/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
# 安装 kubelet, kubeadm, kubectl
sudo apt-get update
sudo apt-get install -y kubelet=1.29.0-1.1 kubeadm=1.29.0-1.1 kubectl=1.29.0-1.1
# 在第一个 Master 节点执行
sudo kubeadm init \
--control-plane-endpoint "lb.kubesphere.local:6443" \
--upload-certs \
--pod-network-cidr="10.244.0.0/16" \
--kubernetes-version=v1.29.0
# 配置 kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
| 安装方式 | 适用场景 | 优点 | 缺点 |
|---|---|---|---|
| KubeKey 一键安装 | 新集群 | 简单快速,自动依赖检查 | 灵活性较低 |
| 现有 K8s 安装 | 已有集群 | 灵活定制,保留现有配置 | 需要手动配置 |
| 离线安装 | 无外网环境 | 安全可控 | 需要预先下载镜像 |
# Step 1: 下载 KubeKey
export KKZONE=cn
curl -sfL https://get-kk.kubesphere.io | VERSION=v4.0.4 sh -
chmod +x kk
# Step 2: 创建配置文件
./kk create config --with-kubernetes v1.29.0 --with-kubesphere v4.0.3
# Step 3: 编辑 config-sample.yaml
vi config-sample.yaml
# Step 4: 开始安装
./kk create cluster -f config-sample.yaml
# Step 5: 查看安装日志
kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app=ks-install' -o jsonpath='{.items[0].metadata.name}') -f
⚠️ 首次登录后请立即修改默认密码!
pipeline {
agent any
stages {
stage('Checkout') {
steps { checkout scm }
}
stage('Build') {
steps { sh 'mvn clean package -DskipTests' }
}
stage('Docker Build') {
steps { sh 'docker build -t myapp:${BUILD_NUMBER} .' }
}
stage('Push to Registry') {
steps { sh 'docker push registry/myapp:${BUILD_NUMBER}' }
}
stage('Deploy to K8s') {
steps {
sh 'kubectl set image deployment/myapp myapp=registry/myapp:${BUILD_NUMBER}'
sh 'kubectl rollout status deployment/myapp'
}
}
}
}
# 检查 kubelet 日志
sudo journalctl -u kubelet -f
# 检查容器运行时
crictl ps
# 检查网络插件
kubectl get pods -n kube-system -l k8s-app=calico-node
# 查看 Pod 详情
kubectl describe pod <pod-name> -n <namespace>
# 查看日志
kubectl logs <pod-name> -n <namespace>
# 查看组件状态
kubectl get pods -n kubesphere-system
# 查看安装日志
kubectl logs -n kubesphere-system -l app=ks-install -f
# 检查存储
kubectl get pvc -n kubesphere-system
| 类型 | 文件名 | 描述 |
|---|---|---|
| 📄 文档 | 01_k8s_cluster_deployment_guide.md | Kubernetes 集群部署详细指南 |
| 📄 文档 | 02_kubesphere_installation_guide.md | KubeSphere 安装部署指南 |
| 📄 文档 | 03_end_to_end_rd_automation_architecture.md | 端到端研发自动化系统架构设计 |
| 🔧 脚本 | k8s_cluster_deploy.sh | K8s 集群自动化部署脚本 |
| 🔧 脚本 | kubesphere_install.sh | KubeSphere 自动化安装脚本 |
| ⚙️ 配置 | Jenkinsfile | Jenkins CI/CD 流水线配置 |
| 🐳 Docker | Dockerfile | 应用容器化构建配置 |
| 🐳 Docker | docker-compose.yml | 本地开发环境编排配置 |
| 📊 报告 | k8s_kubesphere_deployment_report.html | 本可视化报告 |