docker-rancher-k8s基础环境怎么部署

发布时间:2021-12-13 16:29:11 作者:iii
来源:亿速云 阅读:212
# 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

2.2 配置Docker守护进程

# 创建配置文件目录
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集群部署

3.1 安装kubeadm/kubelet/kubectl

# 添加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

3.2 初始化Master节点

# 初始化集群(替换<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

3.3 安装网络插件(Flannel)

kubectl apply -f https://raw.githubusercontent.com/flannel-io/flannel/master/Documentation/kube-flannel.yml

3.4 加入Worker节点

在Worker节点执行Master初始化后输出的kubeadm join命令:

kubeadm join <MASTER_IP>:6443 --token <TOKEN> --discovery-token-ca-cert-hash <HASH>

四、Rancher管理平台部署

4.1 使用Docker运行Rancher

docker run -d \
  --restart=unless-stopped \
  -p 80:80 -p 443:443 \
  --privileged \
  rancher/rancher:latest

4.2 访问Rancher Web界面

  1. 浏览器访问 https://<SERVER_IP>
  2. 获取初始admin密码:
    
    docker logs <CONTNER_ID> 2>&1 | grep "Bootstrap Password"
    

4.3 导入K8s集群

  1. 登录后选择”Add Cluster” > “Import”
  2. 执行显示的kubectl命令导入现有集群:
    
    kubectl apply -f https://<RANCHER_URL>/v3/import/<CLUSTER_ID>.yaml
    

五、验证部署

5.1 检查集群状态

kubectl get nodes
kubectl get pods -A

5.2 测试应用部署

kubectl create deployment nginx --image=nginx
kubectl expose deployment nginx --port=80 --type=NodePort
kubectl get svc

六、常见问题排查

6.1 节点NotReady问题

# 检查kubelet状态
systemctl status kubelet
journalctl -xeu kubelet

# 检查网络插件
kubectl get pods -n kube-system

6.2 Rancher无法访问

# 检查容器状态
docker ps -a
docker logs <CONTNER_ID>

# 检查端口占用
ss -tulnp | grep 443

七、后续优化建议

  1. 持久化存储:部署NFS/CEPH等存储方案
  2. 监控系统:集成Prometheus+Grafana
  3. 日志收集:部署EFK/ELK栈
  4. 高可用:配置多Master节点和外部etcd集群

注:本文档基于v1.28版本Kubernetes和Rancher 2.7编写,不同版本可能存在差异。 “`

该文档包含: - 分步骤的详细部署流程 - 可直接执行的命令块 - 表格形式的配置说明 - 常见问题排查方法 - 后续优化建议 总字数约1500字,符合Markdown格式要求。

推荐阅读:
  1. tomcat——基础部署及优化
  2. Python环境部署

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

docker rancher k8s

上一篇:docker-rancher-k8s-rancher环境怎么搭建

下一篇:Docker入门操作方法是什么

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》