香港VPS容器环境搭建:Docker与K8s协同配置指南
香港VPS因低延迟覆盖亚太、稳定网络连通性等优势,逐渐成为企业和开发者部署容器化应用的热门选择。容器技术的核心——Docker负责打包应用与依赖,Kubernetes(K8s)则解决多容器管理难题,两者协同能显著提升应用部署效率。本文将手把手教你在香港VPS上搭建这套黄金组合环境。
前期准备:硬件与系统基础
搭建容器环境前,需先确认香港VPS的基础配置。建议选择内存≥4GB、存储≥40GB的实例(小规格可能影响K8s集群运行),操作系统推荐Ubuntu 20.04 LTS(对Docker和K8s支持更稳定)。此外,需确保VPS已开放必要端口:Docker默认2375/2376端口,K8s需开放6443(API Server)、2379-2380(etcd)、10250(kubelet)等端口,可通过防火墙规则提前配置。
Docker安装:从入门到镜像管理
Docker是容器化的基石,能将应用及其依赖封装成轻量级、可移植的容器。在Ubuntu系统的香港VPS上安装Docker,只需通过终端执行以下命令:
sudo apt update && sudo apt install -y docker.io
安装完成后启动服务并设置开机自启:
sudo systemctl start docker
sudo systemctl enable docker
验证安装是否成功,运行经典测试命令:
sudo docker run hello-world
若看到“Hello from Docker!”的输出,说明Docker已就绪。接下来可从Docker Hub拉取镜像,例如拉取Nginx:
sudo docker pull nginx:latest
拉取完成后,用以下命令创建并后台运行Nginx容器(映射80端口):
sudo docker run -d -p 80:80 --name my-nginx nginx
此时访问香港VPS的公网IP,应能看到Nginx的欢迎页面。
K8s集群搭建:从单节点到管理中枢
K8s作为容器编排工具,能自动化管理容器的部署、扩展和修复。在香港VPS上安装K8s,推荐使用kubeadm工具。首先添加K8s软件源并安装组件:
sudo apt install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://apt.kubernetes.io/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt update && sudo apt install -y kubelet kubeadm kubectl
安装完成后初始化主节点(需指定Pod网络插件的CIDR范围):
sudo kubeadm init --pod-network-cidr=10.244.0.0/16
初始化成功后,按提示配置kubectl工具:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
最后安装Flannel网络插件(确保Pod间通信):
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
约2分钟后,执行`kubectl get nodes`应显示节点状态为“Ready”。
协同实战:用K8s管理Docker容器
K8s默认以Docker为容器运行时,无需额外配置。通过YAML文件定义应用,可实现容器的批量管理。例如创建一个包含3个Nginx实例的Deployment:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deploy
spec:
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx-container
image: nginx:1.23
ports:
- containerPort: 80
将文件保存为`nginx-deploy.yaml`,执行`kubectl apply -f nginx-deploy.yaml`即可创建。通过`kubectl get pods`可查看运行中的容器,K8s会自动维持3个实例的健康状态,若某容器崩溃会立即重启新实例。
通过这套流程,你已在香港VPS上构建了Docker打包、K8s管理的完整容器环境。后续可根据需求扩展集群节点,或结合自动备份功能(部分香港VPS提供每日快照)保障容器数据安全,进一步提升应用的稳定性与可维护性。
上一篇: MySQL云服务器自动化运维实践指南