快速體驗k8s叢集的測試、開發環境--allinone部署,國內環境下覺得比官方的minikube方便、簡單很多。

王聰聰發表於2018-03-20

快速體驗k8s叢集的測試、開發環境--allinone部署,國內環境下覺得比官方的minikube方便、簡單很多。

快速指南

以下為快速體驗k8s叢集的測試、開發環境--allinone部署,國內環境下覺得比官方的minikube方便、簡單很多。

1.基礎系統配置

  • 推薦記憶體2G/硬碟20G以上
  • 最小化安裝Ubuntu 16.04 server或者CentOS 7 Minimal
  • 配置基礎網路、更新源、SSH登陸等

2.安裝依賴工具

Ubuntu 16.04 請執行以下指令碼:

# 文件中指令碼預設均以root使用者執行
apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y
# 安裝依賴工具
apt-get install python2.7 git python-pip
# Ubuntu16.04可能需要配置以下軟連線
ln -s /usr/bin/python2.7 /usr/bin/python
複製程式碼

CentOS 7 請執行以下指令碼:

# 文件中指令碼預設均以root使用者執行
# 安裝 epel 源並更新
yum install epel-release -y
yum update
# 安裝依賴工具
yum install git python python-pip -y
複製程式碼

3.ansible安裝及準備

# 安裝ansible (國內如果安裝太慢可以直接用pip阿里雲加速)
#pip install pip --upgrade
#pip install ansible
pip install pip --upgrade -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
pip install --no-cache-dir ansible -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com
# 配置ansible ssh金鑰登陸
ssh-keygen -t rsa -b 2048 回車 回車 回車
ssh-copy-id $IP #$IP為本虛機地址,按照提示輸入yes 和root密碼
複製程式碼

4.安裝kubernetes叢集

git clone https://github.com/gjmzj/kubeasz.git
mv kubeasz /etc/ansible
# 下載已打包好的binaries,解壓到/etc/ansible/bin目錄
# 國內請從分享的百度雲連結下載 https://pan.baidu.com/s/1c4RFaA
# 如果你有合適網路環境也可以按照/down/download.sh自行從官網下載各種tar包到 ./down目錄,並執行download.sh
tar zxvf k8s.193.tar.gz
mv bin/* /etc/ansible/bin
# 配置ansible的hosts檔案
cd /etc/ansible
cp example/hosts.allinone.example hosts # 然後根據實際情況修改此hosts檔案,所有節點都是本虛機IP
# 開始叢集安裝,如果你對叢集安裝流程不熟悉,請閱讀分步安裝講解後一步一步安裝,並對每步都進行驗證
# 分步安裝
ansible-playbook 01.prepare.yml
ansible-playbook 02.etcd.yml
ansible-playbook 03.docker.yml
ansible-playbook 04.kube-master.yml
ansible-playbook 05.kube-node.yml
ansible-playbook 06.network.yml
# 一步安裝
#ansible-playbook 90.setup.yml
複製程式碼

如果執行成功,k8s叢集就安裝好了。詳細分步講解請檢視專案目錄 /docs 下相關文件

5.驗證安裝

# 如果提示kubectl: command not found,退出重新ssh登陸一下,環境變數生效即可
kubectl version
kubectl get componentstatus # 可以看到scheduler/controller-manager/etcd等元件 Healthy
kubectl cluster-info # 可以看到kubernetes master(apiserver)元件 running
kubectl get node # 可以看到單 node Ready狀態
kubectl get pod --all-namespaces # 可以檢視所有叢集pod狀態
kubectl get svc --all-namespaces # 可以檢視所有叢集服務狀態
複製程式碼

6.安裝主要元件

# 安裝kubedns
kubectl create -f /etc/ansible/manifests/kubedns
# 安裝heapster
kubectl create -f /etc/ansible/manifests/heapster
# 安裝dashboard
kubectl create -f /etc/ansible/manifests/dashboard
複製程式碼
  • 登陸 dashboard可以檢視和管理叢集,更多內容請查閱dashboard文件

7.清理叢集

以上步驟建立的K8S開發測試環境請盡情折騰,碰到錯誤儘量通過檢視日誌、上網搜尋、提交issues等方式解決;當然如果是徹底奔潰了,可以清理叢集后重新建立。

一步清理:ansible-playbook 99.clean.yml 原文

相關文章