快速體驗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
- Hadoop HA叢集 與 開發環境部署Hadoop開發環境
- OceanBase初體驗之Docker快速部署試用環境Docker
- 用 Vagrant 一鍵部署開發環境 kafka 叢集開發環境Kafka
- Redis 4.0叢集環境部署Redis
- Hadoop的叢集環境部署說明Hadoop
- k8s——搭建叢集環境K8S
- 如何快速搭建微服務開發測試環境微服務
- redis叢集之分片叢集的原理和常用代理環境部署Redis
- kubeadm實現k8s高可用叢集環境部署與配置K8S
- 配置開發環境、生成環境、測試環境開發環境
- SpringCloud微服務實戰——搭建企業級開發框架(三十五):SpringCloud + Docker + k8s實現微服務叢集打包部署-叢集環境部署SpringGCCloud微服務框架DockerK8S
- k8s——叢集環境問題合集K8S
- Centos7.9使用kubeadm部署K8S 1.27.6叢集環境(內網透過代理部署)CentOSK8S內網
- ProxySQL Cluster 高可用叢集環境部署記錄SQL
- 在CentOS7環境下部署weblogic叢集CentOSWeb
- 【技術】MediumKube- 快速部署容器雲的開發環境開發環境
- 部署rabbitMQ映象叢集實戰測試MQ
- 用 Spring 區分開發環境、測試環境、生產環境Spring開發環境
- Ansible部署K8s叢集K8S
- kubeadm部署K8S叢集K8S
- 從零搭建K8S測試叢集K8S
- k8s線上測試環境K8S
- Zookeeper 叢集環境搭建
- 如何基於Jupyter notebook搭建Spark叢集開發環境Spark開發環境
- K8S環境快速部署Kafka(K8S外部可訪問)K8SKafka
- 如何搭建良好的軟體測試環境?測試環境對軟體測試起到什麼作用?
- 使用 Ansible 快速部署 HBase 叢集
- 基於Ubuntu部署企業級kubernetes叢集---k8s叢集容部署UbuntuK8S
- PCIE XDMA 開發環境搭建以及環路測試開發環境
- 升級 kubeadm 部署的 k8s 叢集K8S
- 規範:開發環境部署開發環境
- es 5.5.3叢集環境搭建
- 【環境搭建】RocketMQ叢集搭建MQ
- kafka 基礎知識梳理及叢集環境部署記錄Kafka
- 線上方式部署k8s+prometheus叢集(kubesphere環境)K8SPrometheus
- Mac 環境下 Redis 叢集的搭建MacRedis
- Linux環境快速搭建elasticsearch6.5.4叢集和Head外掛LinuxElasticsearch