您好,登录后才能下订单哦!
密码登录
登录注册
点击 登录注册 即表示同意《亿速云用户服务条款》
# Docker-Rancher-K8s基础环境部署指南
## 一、环境准备
### 1.1 硬件要求
- **服务器配置**:建议至少2核CPU/4GB内存/50GB磁盘(生产环境需更高配置)
- **操作系统**:Ubuntu 20.04/22.04 LTS 或 CentOS 7/8(本文以Ubuntu 22.04为例)
- **网络要求**:
- 所有节点间网络互通
- 开放端口:6443(K8s API)、80/443(Rancher)、2379-2380(etcd)
### 1.2 节点规划
| 节点类型 | 数量 | 说明 |
|------------|------|-----------------------|
| Master节点 | 1-3 | 运行控制平面组件 |
| Worker节点 | ≥1 | 运行工作负载Pod |
| Rancher节点| 1 | 管理K8s集群(可选) |
## 二、Docker安装与配置
### 2.1 安装Docker CE
```bash
# 卸载旧版本
sudo apt-get remove docker docker-engine docker.io containerd runc
# 安装依赖
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl gnupg lsb-release
# 添加Docker官方GPG密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
# 设置稳定版仓库
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
# 安装Docker引擎
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
# 创建配置文件目录
sudo mkdir -p /etc/docker
# 配置daemon.json(启用cgroup驱动)
cat <<EOF | sudo tee /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"log-driver": "json-file",
"log-opts": {
"max-size": "100m"
},
"storage-driver": "overlay2"
}
EOF
# 重启Docker服务
sudo systemctl enable docker
sudo systemctl restart docker
# 添加Kubernetes源
sudo apt-get update
sudo apt-get install -y apt-transport-https ca-certificates curl
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.28/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.28/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
# 安装组件
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl
# 初始化集群(替换<MASTER_IP>为实际IP)
sudo kubeadm init \
--apiserver-advertise-address=<MASTER_IP> \
--pod-network-cidr=10.244.0.0/16 \
--service-cidr=10.96.0.0/12
# 配置kubectl
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml
在Worker节点执行Master初始化后输出的kubeadm join
命令:
kubeadm join <MASTER_IP>:6443 --token <TOKEN> --discovery-token-ca-cert-hash <HASH>
docker run -d \
--restart=unless-stopped \
-p 80:80 -p 443:443 \
--privileged \
rancher/rancher:latest
https://<SERVER_IP>
docker logs <CONTNER_ID> 2>&1 | grep "Bootstrap Password"
kubectl apply -f https://<RANCHER_URL>/v3/import/<CLUSTER_ID>.yaml
kubectl get nodes
kubectl get pods -A
kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get svc
# 检查kubelet状态
systemctl status kubelet
journalctl -xeu kubelet
# 检查网络插件
kubectl get pods -n kube-system
# 检查容器状态
docker ps -a
docker logs <CONTNER_ID>
# 检查端口占用
ss -tulnp | grep 443
注:本文档基于v1.28版本Kubernetes和Rancher 2.7编写,不同版本可能存在差异。 “`
该文档包含: - 分步骤的详细部署流程 - 可直接执行的命令块 - 表格形式的配置说明 - 常见问题排查方法 - 后续优化建议 总字数约1500字,符合Markdown格式要求。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。