快速體驗k8s叢集的測試、開發環境--allinone部署
快速指南
以下為快速體驗k8s叢集的測試、開發環境--allinone部署,國內環境下覺得比官方的minikube方便、簡單很多。
1.基礎系統配置
- 推薦記憶體2G/硬碟30G以上
- 最小化安裝
Ubuntu 16.04 server
或者CentOS 7 Minimal
- 配置基礎網路、更新源、SSH登陸等
2.安裝依賴工具
Ubuntu 16.04 請執行以下指令碼:
# 文件中指令碼預設均以root使用者執行
# 安裝依賴工具
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 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密碼
異常
paramiko 2.4.2 has requirement cryptography>=1.5, but you'll have cryptography 1.3.1 which is incomp
在Ubuntu 16.04
中,如果出現以下錯誤:
Traceback (most recent call last):
File "/usr/bin/pip", line 9, in <module>
from pip import main
ImportError: cannot import name main
將/usr/bin/pip
做以下修改:
#原始碼
from pip import main
if __name__ == '__main__':
sys.exit(main())
#修改後
from pip import __main__
if __name__ == '__main__':
sys.exit(__main__._main())
4.安裝kubernetes叢集
- 4.1 下載專案原始碼
# 方式一:使用git clone
git clone https://github.com/gjmzj/kubeasz.git
mkdir -p /etc/ansible
mv kubeasz/* /etc/ansible
# 方式二:從釋出頁面 https://github.com/gjmzj/kubeasz/releases 下載原始碼解壓到同樣目錄
- 4.2a 下載二進位制檔案
請從分享的百度雲連結,下載解壓到/etc/ansible/bin目錄,如果你有合適網路環境也可以按照/down/download.sh自行從官網下載各種tar包
tar zxvf k8s.1-9-8.tar.gz # 以安裝k8s v1.9.8為例
mv bin/* /etc/ansible/bin
- 4.2b [可選]下載離線docker映象
伺服器使用內部yum源/apt源,但是無法訪問公網情況下,請下載離線docker映象完成叢集安裝;從百度雲盤把basic_images_kubeasz_x.y.tar.gz
下載解壓到/etc/ansible/down
目錄
tar zxvf basic_images_kubeasz_0.2.tar.gz -C /etc/ansible/down
-
4.3 配置叢集引數
- 4.3.1 必要配置:
cd /etc/ansible && cp example/hosts.allinone.example hosts
, 然後實際情況修改此hosts檔案 - 4.3.2 可選配置,初次使用可以不做修改,詳見配置指南
- 4.3.3 驗證ansible 安裝:
ansible all -m ping
正常能看到節點返回 SUCCESS
- 4.3.1 必要配置:
-
4.4 開始安裝 如果你對叢集安裝流程不熟悉,請閱讀專案首頁 安裝步驟 講解後分步安裝,並對 每步都進行驗證
# 分步安裝
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 07.cluster-addon.yml
# 一步安裝
#ansible-playbook 90.setup.yml
- [可選]對叢集節點進行作業系統層面的安全加固
ansible-playbook roles/os-harden/os-harden.yml
,詳情請參考os-harden專案
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狀態,預設已安裝網路外掛、coredns、metrics-server等
kubectl get svc --all-namespaces # 可以檢視所有叢集服務狀態
6.安裝主要元件
# 安裝kubedns,預設已整合安裝
#kubectl create -f /etc/ansible/manifests/kubedns
# 安裝dashboard,預設已整合安裝
#kubectl create -f /etc/ansible/manifests/dashboard
- 登陸
dashboard
可以檢視和管理叢集,更多內容請查閱dashboard文件
7.清理叢集
以上步驟建立的K8S開發測試環境請盡情折騰,碰到錯誤儘量通過檢視日誌、上網搜尋、提交issues
等方式解決;當然如果是徹底奔潰了,可以清理叢集后重新建立。
ansible-playbook 99.clean.yml
如果出現清理失敗,類似報錯:... Device or resource busy: '/var/run/docker/netns/xxxxxxxxxx'
,需要手動umount該目錄後清理
$ umount /var/run/docker/netns/xxxxxxxxxx
$ rm -rf /var/run/docker/netns/xxxxxxxxxx
相關文章
- 快速體驗k8s叢集的測試、開發環境--allinone部署,國內環境下覺得比官方的minikube方便、簡單很多。K8S開發環境None
- 用 Vagrant 一鍵部署開發環境 kafka 叢集開發環境Kafka
- OceanBase初體驗之Docker快速部署試用環境Docker
- 如何快速搭建微服務開發測試環境微服務
- MySQL Cluster開發環境快速部署(中文)MySql開發環境
- 部署rabbitMQ映象叢集實戰測試MQ
- 從 0 開始使用 Docker 快速搭建 Hadoop 叢集環境DockerHadoop
- 從零搭建K8S測試叢集K8S
- 【技術】MediumKube- 快速部署容器雲的開發環境開發環境
- OCM實驗-測試環境的搭建
- Glassfish叢集環境的搭建
- 在CentOS7環境下部署weblogic叢集CentOSWeb
- 在叢集環境中部署和配置 WebSphere AdaptersWebAPT
- 用 Spring 區分開發環境、測試環境、生產環境Spring開發環境
- 如何搭建良好的軟體測試環境?測試環境對軟體測試起到什麼作用?
- K8S環境快速部署Kafka(K8S外部可訪問)K8SKafka
- 前端開發環境(開發,除錯,測試工具)前端開發環境除錯
- MemSQL初體驗 - (2)初始化測試環境SQL
- kubeadm部署K8S叢集K8S
- Ansible部署K8s叢集K8S
- Zookeeper 叢集環境搭建
- PCIE XDMA 開發環境搭建以及環路測試開發環境
- proc 開發環境配置(測試透過)開發環境
- 測試環境運維文章集錦運維
- 求助大佬,想要往測試環境 mq 或者 Kafka 叢集推送測試資料,能使用哪些工具?MQKafka
- k8s 部署生產vault叢集K8S
- es 5.5.3叢集環境搭建
- 【環境搭建】RocketMQ叢集搭建MQ
- hadoop叢集環境搭建Hadoop
- CentOS 7.9 環境下搭建k8s叢集(一主兩從)CentOSK8S
- 試用環境開發環境不發郵件開發環境
- 軟體測試--環境講解
- 快速搭建本地docker的開發環境Docker開發環境
- Mac 環境下 Redis 叢集的搭建MacRedis
- 如何基於Jupyter notebook搭建Spark叢集開發環境Spark開發環境
- 軟體測試培訓:如何搭建測試環境
- 邊緣計算k8s叢集SuperEdge初體驗K8S
- docker初體驗:docker部署nginx負載均衡叢集DockerNginx負載