溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

docker-rancher-k8s基礎環境怎么部署

發布時間:2021-12-13 16:29:11 來源:億速云 閱讀:237 作者:iii 欄目:云計算
# 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格式要求。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女