From b610a032e5c5f9ed912793a69367c89064bc2c62 Mon Sep 17 00:00:00 2001 From: jmgao Date: Tue, 28 Nov 2017 21:13:21 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=B4=E6=96=B0quickStart.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- README.md | 2 ++ docs/quickStart.md | 59 ++++++++++++++++++++++++++++------------------ down/download.sh | 22 +++++++---------- 3 files changed, 46 insertions(+), 37 deletions(-) diff --git a/README.md b/README.md index 06dd48c..7cc9311 100644 --- a/README.md +++ b/README.md @@ -17,6 +17,8 @@ 1. docker 17.09.0-ce 1. calico/node v2.6.2 +附:集群用到的所有二进制文件已打包好供下载 `https://pan.baidu.com/s/1eSetFSA` + ## 快速指南 单机快速体验k8s集群的测试、开发环境--[AllinOne部署](docs/quickStart.md);在国内的网络环境下要比官方的minikube方便、简单很多。 diff --git a/docs/quickStart.md b/docs/quickStart.md index ae93bc7..d3cddb6 100644 --- a/docs/quickStart.md +++ b/docs/quickStart.md @@ -2,49 +2,54 @@ 以下为快速体验k8s集群的测试、开发环境--AllinOne部署,觉得比官方的minikube方便、简单很多。 -### 1.准备一台虚机(推荐内存3G,硬盘20G以上),安装Ubuntu16.04,配置基础网络、更新源、SSH登陆等。 +### 1.准备一台虚机(推荐内存3G,硬盘20G以上),最小化安装Ubuntu16.04 server,配置基础网络、更新源、SSH登陆等。 ### 2.安装python2/git/python-pip/ansible ``` bash -# 更新 +# 文档中脚本默认均以root用户执行 apt-get update && apt-get upgrade -y && apt-get dist-upgrade -y # 删除不要的默认安装 apt-get purge ufw lxd lxd-client lxcfs lxc-common # 安装依赖工具 apt-get install python2.7 git python-pip -# 安装ansible -pip install pip --upgrade -pip install ansible -# 国内加速 +# Ubuntu16.04可能需要配置以下软连接 +ln -s /usr/bin/python2.7 /usr/bin/python +# 安装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为本虚机地址 +ssh-copy-id $IP #$IP为本虚机地址,按照提示输入yes 和root密码 ``` -### 3.安装k8s +### 3.安装kubernetes集群 ``` bash -git clone https://gitee.com/netmon/deploy-k8s-with-ansible.git -mv deploy-k8s-with-ansible/ /etc/ansible -cd /etc/ansible -# 配置ansible -cp example/ansible.cfg.example ansible.cfg +git clone https://github.com/gjmzj/kubeasz.git +mv kubeasz /etc/ansible +# 下载已打包好的binaries,并且解压缩到./bin目录 +# 国内请从我分享的百度云链接下载 https://pan.baidu.com/s/1eSetFSA +# 如果你有合适网络环境也可以按照/down/download.sh自行从官网下载各种tar包到 ./down目录,并执行download.sh +tar zxvf k8s.184.tar.gz +mv bin/* /etc/ansible/bin # 配置集群hosts +cd /etc/ansible cp example/hosts.allinone.example hosts -然后根据实际情况修改此hosts文件 -# 准备二进制安装包 -按照down/download.sh文件提示先手工下载各种tar包到 ./down目录 -sh down/download.sh -# 开始安装(一步安装) -ansible-playbook 90.setup.yml -# 或者采用分步安装 +然后根据实际情况修改此hosts文件,所有节点都是本虚机IP +# 采用分步安装或者一步安装 ansible-playbook 01.prepare.yml ansible-playbook 02.etcd.yml -... +ansible-playbook 03.kubectl.yml +ansible-playbook 04.docker.yml +ansible-playbook 05.calico.yml +ansible-playbook 06.kube-master.yml +ansible-playbook 07.kube-node.yml +# ansible-playbook 90.setup.yml # 一步安装 ``` -如果执行成功,k8s集群就安装好了 +如果执行成功,k8s集群就安装好了。 ### 4.验证安装 ``` bash +# 如果提示kubectl: command not found,退出重新ssh登陆一下,环境变量生效即可 kubectl version kubectl get componentstatus # 可以看到scheduler/controller-manager/etcd等组件 Healthy kubectl clusterinfo # 可以看到kubernetes master(apiserver)组件 running @@ -52,4 +57,12 @@ kubectl get node # 可以看到单 node Ready状态 kubectl get pod --all-namespaces # 可以查看所有集群pod状态 kubectl get svc --all-namespaces # 可以查看所有集群服务状态 ``` - +### 5.安装主要组件 +``` bash +# 安装kubedns +kubectl create -f manifests/kubedns +# 安装heapster +kubectl create -f manifests/heapster +# 安装dashboard +kubectl create -f manifests/dashboard +``` diff --git a/down/download.sh b/down/download.sh index ad88110..64839d8 100644 --- a/down/download.sh +++ b/down/download.sh @@ -5,6 +5,11 @@ export ETCD_VER=v3.2.10 export DOCKER_VER=17.09.0-ce export CALICO_VER=v2.6.2 +echo "\n建议直接下载本人打包好的所有必要二进制包k8s-184.all.tar.gz,然后解压到bin目录" +echo "\n建议不使用此脚本,如果你想升级组件或者实验,请通读该脚本,必要时适当修改后使用" +echo "\n注意1:因为网络原因不进行自动下载,请按照以下链接手动下载二进制包到down目录中" +echo "\n注意2:如果还没有手工下载tar包,请Ctrl-c结束此脚本" + echo "\n----download k8s binary at:" echo https://dl.k8s.io/${K8S_VER}/kubernetes-server-linux-amd64.tar.gz @@ -20,19 +25,11 @@ echo https://pkg.cfssl.org/R1.2/cfssl_linux-amd64 echo https://pkg.cfssl.org/R1.2/cfssljson_linux-amd64 echo https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64 -echo "\n注意1:因为网络原因不进行自动下载" -echo "请按照以上链接手动下载二进制包到down目录中,包含如下:" -echo "-rw-r--r-- 1 root root 6595195 Mar 30 2016 cfssl-certinfo_linux-amd64" -echo "-rw-r--r-- 1 root root 2277873 Mar 30 2016 cfssljson_linux-amd64" -echo "-rw-r--r-- 1 root root 10376657 Mar 30 2016 cfssl_linux-amd64" -echo "-rwxr--r-- 1 root root 29699281 Aug 24 17:09 docker-17.06.1-ce.tgz*" -echo "-rwxr--r-- 1 root root 10176124 Aug 24 17:09 etcd-v3.2.6-linux-amd64.tar.gz*" -echo "-rwxr--r-- 1 root root 437406487 Aug 24 17:09 kubernetes-server-linux-amd64.tar.gz*" +echo "\n----download calico at:" +echo https://docs.projectcalico.org/v2.6/releases/ -echo "\n注意2:如果还没有手工下载tar包,请Ctrl-c结束此脚本\nsleep 60" -sleep 60 +sleep 30 -mkdir -p ../bin ### 准备证书工具程序 echo "\n准备证书工具程序..." if [ -f "cfssl_linux-amd64" ]; then @@ -61,9 +58,6 @@ else echo 请先下载etcd-${ETCD_VER}-linux-amd64.tar.gz fi -### 准备calico程序 -echo "\n下载calico/node镜像\ndocker pull calico/node:2.6.2" - ### 准备kubernetes程序 echo "\n准备kubernetes二进制程序..." if [ -f "kubernetes-server-linux-amd64.tar.gz" ]; then