云计算百科
云计算领域专业知识百科平台

如何在香港服务器 Ubuntu 22.04 上 安装 Kubernetes 集群 + KubeSphere 控制台 实现容器化服务管理教程(深度技术方案)

如何在香港服务器上用 Ubuntu 22.04 构建生产级 Kubernetes 集群,并安装 KubeSphere 控制台用于可视化容器化服务管理的完整落地方案。A5数据全程涉及硬件配置建议、网络方案对比、详细代码示例、配置文件、组件版本控制和关键技术细节。


一、前言

在跨境服务场景中,高可用、可观测的容器平台是现代微服务、CI/CD 和 DevOps 的核心基础设施。我们选用 Kubernetes(k8s)作为容器调度引擎,并引入 KubeSphere 提供可视化、项目隔离、运维审计等企业级管理功能。


二、目标平台与版本

组件版本/说明
操作系统 Ubuntu 22.04 LTS x86_64
Kubernetes v1.26.x
Container Runtime containerd v1.6.x
网络插件 Calico v3.25
KubeSphere v4.3.x
DNS CoreDNS
LoadBalancer MetalLB (Bare Metal LB)
时间同步 chrony

三、香港服务器www.a5idc.com硬件与网络配置建议

针对生产级集群,推荐最低硬件如下:

节点类型CPU内存磁盘带宽/网络
master 节点 4 vCPU 8 GB 100 GB SSD 1 Gbps
worker 节点 8 vCPU 16 GB 200+ GB SSD 1 Gbps
存储盘 NVMe SSD 优先

注意 在香港服务器环境中,公网带宽质量与延迟对镜像拉取、Pod 网络通讯有直接影响。务必保证 CN2 / BGP 带宽可用,并在必要时配置镜像加速(详见后文)。


四、节点准备与系统优化

4.1 关闭 Swap

sudo swapoff -a
sudo sed -i '/ swap / s/^/#/' /etc/fstab

4.2 系统参数调整(用于 Kubernetes)

创建 /etc/sysctl.d/k8s.conf:

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

4.3 安装基础依赖

sudo apt update && sudo apt install -y apt-transport-https ca-certificates curl software-properties-common chrony

启用 chrony 时间同步:

sudo systemctl enable –now chrony


五、容器运行时安装:containerd

安装 containerd:

sudo apt install -y containerd
sudo mkdir -p /etc/containerd
containerd config default | sudo tee /etc/containerd/config.toml
sudo systemctl restart containerd
sudo systemctl enable containerd

确保使用 Systemd cgroup:

编辑 /etc/containerd/config.toml:

[plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]
SystemdCgroup = true

重启 containerd:

sudo systemctl restart containerd


六、Kubernetes 组件安装

6.1 添加 Kubernetes apt 源

curl -fsSL https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add
sudo add-apt-repository "deb https://apt.kubernetes.io/ kubernetes-xenial main"
sudo apt update

6.2 安装 kubeadm、kubelet、kubectl

sudo apt install -y kubelet=1.26.7-00 kubeadm=1.26.7-00 kubectl=1.26.7-00
sudo apt-mark hold kubelet kubeadm kubectl

版本号依据实际发布日期调整。


七、集群初始化

在第一个 master 节点执行:

sudo kubeadm init \\
–apiserver-advertise-address=<MASTER_PRIVATE_IP> \\
–pod-network-cidr=192.168.0.0/16 \\
–control-plane-endpoint=<LOAD_BALANCER_IP_OR_DNS>

输出中会包含 kubeadm join 命令,用于后续节点加入。

配置 kubeconfig:

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config


八、网络插件对比与选择

我们推荐使用 Calico 作为 CNI(高性能、支持 NetworkPolicy):

网络插件优点缺点
Calico 网络策略丰富、高性能 配置选项多,学习曲线稍陡
Flannel 简单易用 不支持细粒度网络策略
Weave 自动拓扑发现 大规模场景性能有限

安装 Calico:

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml


九、加入 Worker 节点

在每个 Worker 节点执行 master 初始化时输出的 join 命令,例如:

sudo kubeadm join <MASTER_IP>:6443 \\
–token <TOKEN> \\
–discovery-token-ca-cert-hash sha256:<HASH>

验证:

kubectl get nodes


十、KubeSphere 控制台安装

10.1 KubeSphere 安装准备

确保集群状态健康:

kubectl get cs

10.2 安装 KubeSphere

使用官方一键安装脚本:

curl -L https://kubesphere.io/dls/kubesphere-v4.3.3/kubesphere-installer.yaml -o kubesphere-installer.yaml
kubectl apply -f kubesphere-installer.yaml

等待组件启动完毕:

kubectl get pods -n kubesphere-system

应用 KubeSphere:

curl -L https://kubesphere.io/dls/kubesphere-v4.3.3/kubesphere-installer.yaml \\
| sed 's/EnableAPIServer=true/EnableAPIServer=true\\n EnableOAuth=true/' \\
| kubectl apply -f –

首次访问控制台:

默认账号:admin 默认密码:P@88w0rd

访问地址:

http://<MASTER_OR_LOADBALANCER_IP>:30880

可根据环境改用 Ingress、LoadBalancer 类型服务。


十一、外部 LoadBalancer 方案(MetalLB)

在裸机或 VPS 环境,我们建议使用 MetalLB 提供 LoadBalancer 服务:

安装 MetalLB:

kubectl apply -f https://raw.githubusercontent.com/metallb/metallb/v0.13.10/config/manifests/metallb-native.yaml

配置 IP 池(例如 192.168.100.240–192.168.100.250):

cat <<EOF | kubectl apply -f –
apiVersion: metallb.io/v1beta1
kind: IPAddressPool
metadata:
name: lb-pool
namespace: metallb-system
spec:
addresses:
– 192.168.100.240-192.168.100.250

apiVersion: metallb.io/v1beta1
kind: L2Advertisement
metadata:
name: l2adv
namespace: metallb-system
EOF


十二、镜像加速

在香港服务器常见的问题是访问 Docker Hub 或 k8s.gcr.io 较慢。推荐使用国内镜像加速:

编辑 /etc/containerd/config.toml:

[plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
endpoint = ["https://registry-mirror.example.com"]

替换为阿里云、腾讯云等加速地址。

重启 containerd:

sudo systemctl restart containerd


十三、典型问题与排查

13.1 节点状态 NotReady

kubectl describe node <node-name>

检查 network plugin 是否正确启动:

kubectl get pods -n kube-system | grep calico

13.2 kube-dns/ CoreDNS 不可用

确保 DNS 配置:

kubectl logs -n kube-system -l k8s-app=kube-dns


十四、监控与日志方案

建议引入以下组件:

方案功能
Prometheus 指标监控
Grafana 可视化
EFK Stack 日志收集与分析

可通过 KubeSphere 内置市场一键部署这些组件。


十五、总结

A5数据本文提供了一个从零开始,在 Ubuntu 22.04 的香港服务器上部署生产级 Kubernetes 集群,并安装 KubeSphere 控制台的深度方案,包括:

  • 硬件与网络配置建议
  • 容器运行时 containerd 安装细节
  • Kubernetes 核心组件安装与初始化
  • 网络插件选择与部署实践
  • 可视化管理平台 KubeSphere 安装与访问
  • LoadBalancer、镜像加速与常见问题排查

希望本文能帮助你在实际业务环境中快速搭建高可用的容器化服务平台。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 如何在香港服务器 Ubuntu 22.04 上 安装 Kubernetes 集群 + KubeSphere 控制台 实现容器化服务管理教程(深度技术方案)
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!