diff --git "a/docs/00-\351\233\206\347\276\244\350\247\204\345\210\222\345\222\214\345\237\272\347\241\200\345\217\202\346\225\260\350\256\276\345\256\232.md" "b/docs/00-\351\233\206\347\276\244\350\247\204\345\210\222\345\222\214\345\237\272\347\241\200\345\217\202\346\225\260\350\256\276\345\256\232.md" index b825aced0..0f759504a 100644 --- "a/docs/00-\351\233\206\347\276\244\350\247\204\345\210\222\345\222\214\345\237\272\347\241\200\345\217\202\346\225\260\350\256\276\345\256\232.md" +++ "b/docs/00-\351\233\206\347\276\244\350\247\204\345\210\222\345\222\214\345\237\272\347\241\200\345\217\202\346\225\260\350\256\276\345\256\232.md" @@ -23,7 +23,7 @@ ### 1.基础系统配置 -+ 推荐内存2G/硬盘20G以上 ++ 推荐内存2G/硬盘30G以上 + 最小化安装`Ubuntu 16.04 server`或者`CentOS 7 Minimal` + 配置基础网络、更新源、SSH登陆等 diff --git "a/docs/02-\345\256\211\350\243\205etcd\351\233\206\347\276\244.md" "b/docs/02-\345\256\211\350\243\205etcd\351\233\206\347\276\244.md" index f30c7ea54..385d4ab82 100644 --- "a/docs/02-\345\256\211\350\243\205etcd\351\233\206\347\276\244.md" +++ "b/docs/02-\345\256\211\350\243\205etcd\351\233\206\347\276\244.md" @@ -128,4 +128,4 @@ https://192.168.1.3:2379 is healthy: successfully committed proposal: took = 3.2 三台 etcd 的输出均为 healthy 时表示集群服务正常。 -[前一篇](01-创建CA证书和环境配置.md) -- [后一篇](04-安装docker服务.md) +[前一篇](01-创建CA证书和环境配置.md) -- [后一篇](03-安装docker服务.md) diff --git "a/docs/03-\345\256\211\350\243\205docker\346\234\215\345\212\241.md" "b/docs/03-\345\256\211\350\243\205docker\346\234\215\345\212\241.md" index 9f35db86c..369823be3 100644 --- "a/docs/03-\345\256\211\350\243\205docker\346\234\215\345\212\241.md" +++ "b/docs/03-\345\256\211\350\243\205docker\346\234\215\345\212\241.md" @@ -152,4 +152,4 @@ iptables-save|grep FORWARD -A FORWARD -j ACCEPT ``` -[前一篇](02-安装etcd集群.md) -- [后一篇](05-安装kube-master节点.md) +[前一篇](02-安装etcd集群.md) -- [后一篇](04-安装kube-master节点.md) diff --git "a/docs/04-\345\256\211\350\243\205kube-master\350\212\202\347\202\271.md" "b/docs/04-\345\256\211\350\243\205kube-master\350\212\202\347\202\271.md" index a4ea4ca5f..e214ad9e3 100644 --- "a/docs/04-\345\256\211\350\243\205kube-master\350\212\202\347\202\271.md" +++ "b/docs/04-\345\256\211\350\243\205kube-master\350\212\202\347\202\271.md" @@ -239,4 +239,4 @@ etcd-2 Healthy {"health": "true"} etcd-1 Healthy {"health": "true"} ``` -[前一篇](04-安装docker服务.md) -- [后一篇](06-安装kube-node节点.md) +[前一篇](03-安装docker服务.md) -- [后一篇](05-安装kube-node节点.md) diff --git "a/docs/05-\345\256\211\350\243\205kube-node\350\212\202\347\202\271.md" "b/docs/05-\345\256\211\350\243\205kube-node\350\212\202\347\202\271.md" index c7c8c7536..05f2188e8 100644 --- "a/docs/05-\345\256\211\350\243\205kube-node\350\212\202\347\202\271.md" +++ "b/docs/05-\345\256\211\350\243\205kube-node\350\212\202\347\202\271.md" @@ -145,4 +145,4 @@ NAME STATUS ROLES AGE VERSION ``` -[前一篇](05-安装kube-master节点.md) -- [后一篇](07-安装calico网络组件.md) +[前一篇](04-安装kube-master节点.md) -- [后一篇](06-安装网络组件.md) diff --git "a/docs/06-\345\256\211\350\243\205\347\275\221\347\273\234\347\273\204\344\273\266.md" "b/docs/06-\345\256\211\350\243\205\347\275\221\347\273\234\347\273\204\344\273\266.md" index 20952f2c8..4817713a6 100644 --- "a/docs/06-\345\256\211\350\243\205\347\275\221\347\273\234\347\273\204\344\273\266.md" +++ "b/docs/06-\345\256\211\350\243\205\347\275\221\347\273\234\347\273\204\344\273\266.md" @@ -36,3 +36,6 @@ Kubernetes Pod的网络是这样创建的: ### 参考 - [kubernetes.io networking docs](https://kubernetes.io/docs/concepts/cluster-administration/networking/) - [feiskyer-kubernetes指南网络章节](https://github.com/feiskyer/kubernetes-handbook/blob/master/zh/network/network.md) + + +[前一篇](05-安装kube-node节点.md) -- [后一篇](07-安装集群插件.md) diff --git "a/docs/07-\345\256\211\350\243\205\351\233\206\347\276\244\346\217\222\344\273\266.md" "b/docs/07-\345\256\211\350\243\205\351\233\206\347\276\244\346\217\222\344\273\266.md" index a92b5b4d4..bcd5d79c4 100644 --- "a/docs/07-\345\256\211\350\243\205\351\233\206\347\276\244\346\217\222\344\273\266.md" +++ "b/docs/07-\345\256\211\350\243\205\351\233\206\347\276\244\346\217\222\344\273\266.md" @@ -9,3 +9,7 @@ - 1.根据hosts文件中配置的`CLUSTER_DNS_SVC_IP` `CLUSTER_DNS_DOMAIN`等参数生成kubedns.yaml和coredns.yaml文件 - 2.注册变量pod_info,pod_info用来判断现有集群是否已经运行各种插件 - 3.根据pod_info和[配置开关](../roles/cluster-addon/defaults/main.yml)逐个进行/跳过插件安装 + + + +[前一篇](06-安装网络组件.md) -- diff --git a/docs/guide/dashboard.1.6.3.md b/docs/guide/dashboard.1.6.3.md index fb6a7d08e..f0c46a354 100644 --- a/docs/guide/dashboard.1.6.3.md +++ b/docs/guide/dashboard.1.6.3.md @@ -131,4 +131,3 @@ subjects: + 由于还未部署 Heapster 插件,当前 dashboard 不能展示 Pod、Nodes 的 CPU、内存等 metric 图形,后续部署 heapster后自然能够看到 + 本文中的权限设置仅供演示用,生产环境请在此基础上修改成适合你安全需求的方式 -[前一篇](kubedns.md) -- [目录](index.md) -- [后一篇](heapster.md) diff --git a/docs/guide/dashboard.md b/docs/guide/dashboard.md index 78866cdf0..3113f5596 100644 --- a/docs/guide/dashboard.md +++ b/docs/guide/dashboard.md @@ -226,4 +226,3 @@ subjects: + 由于还未部署 Heapster 插件,当前 dashboard 不能展示 Pod、Nodes 的 CPU、内存等 metric 图形,后续部署 heapster后自然能够看到 + 本文中的权限设置仅供演示用,生产环境请在此基础上修改成适合你安全需求的方式 -[前一篇](kubedns.md) -- [目录](index.md) -- [后一篇](heapster.md) diff --git a/docs/guide/efk.md b/docs/guide/efk.md index 9a1d83dcc..ddbdc46fb 100644 --- a/docs/guide/efk.md +++ b/docs/guide/efk.md @@ -193,4 +193,3 @@ kube-system-elasticsearch-logging-elasticsearch-logging-1-pvc-5b105ee6-358b-11e8 1. [storage-classes](https://kubernetes.io/docs/concepts/storage/storage-classes/) -[前一篇](ingress.md) -- [目录](index.md) -- [后一篇](harbor.md) diff --git a/docs/guide/harbor.md b/docs/guide/harbor.md index e2ed7c063..0e6570cbe 100644 --- a/docs/guide/harbor.md +++ b/docs/guide/harbor.md @@ -176,5 +176,4 @@ docker run -it --rm -e DB_USR=root -e DB_PWD=xxxx -v /data/database:/var/lib/mys cd /data/harbor vi harbor.cfg ./install.sh - -[前一篇]() -- [目录](index.md) -- [后一篇]() +``` diff --git a/docs/guide/heapster.1.4.3.md b/docs/guide/heapster.1.4.3.md index e6d389c3a..982c72ea6 100644 --- a/docs/guide/heapster.1.4.3.md +++ b/docs/guide/heapster.1.4.3.md @@ -89,4 +89,3 @@ monitoring-influxdb NodePort 10.68.195.193 8086:3382/TCP,8 ![influxdb](../../pics/influxdb.png) -[前一篇](dashboard.md) -- [目录](index.md) -- [后一篇](ingress.md) diff --git a/docs/guide/heapster.md b/docs/guide/heapster.md index 56d8bb49f..a20e7e278 100644 --- a/docs/guide/heapster.md +++ b/docs/guide/heapster.md @@ -165,4 +165,3 @@ kubectl create -f /etc/ansible/manifests/heapster/influxdb-with-pv/influxdb.yaml ``` -[前一篇](dashboard.md) -- [目录](index.md) -- [后一篇](ingress.md) diff --git a/docs/guide/helm.md b/docs/guide/helm.md index 7a053d4e6..1e4a34463 100644 --- a/docs/guide/helm.md +++ b/docs/guide/helm.md @@ -54,4 +54,4 @@ $ ansible-playbook /etc/ansible/roles/helm/helm.yml ## 使用helm安装应用到k8s上 - +请阅读本项目文档[helm安装prometheus监控](prometheus.md) diff --git a/docs/guide/index.md b/docs/guide/index.md index f5333f3d5..135c5617a 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -4,6 +4,7 @@ - 安装 [kubedns](kubedns.md) - 安装 [dashboard](dashboard.md) +- 安装 [metrics-server](metrics-server.md) - 安装 [heapster](heapster.md) - 安装 [ingress](ingress.md) - 安装 [efk](efk.md) diff --git a/docs/guide/ingress.md b/docs/guide/ingress.md index b0a4f7098..e4b0ad1a0 100644 --- a/docs/guide/ingress.md +++ b/docs/guide/ingress.md @@ -158,4 +158,3 @@ listen kube-node 打开浏览器输入域名 `http://hello.test.com` 和 `http://traefik-ui.test.com`可以正常访问。 -[前一篇](heapster.md) -- [目录](index.md) -- [后一篇](efk.md) diff --git a/docs/guide/kubedns.md b/docs/guide/kubedns.md index 4f6d7cbe2..dd5855a51 100644 --- a/docs/guide/kubedns.md +++ b/docs/guide/kubedns.md @@ -80,4 +80,3 @@ Address 2: 180.97.33.107 / # ``` -[前一篇](index.md) -- [目录](index.md) -- [后一篇](dashboard.md) diff --git a/docs/op/op-index.md b/docs/op/op-index.md index 23bb65374..a340a4fa9 100644 --- a/docs/op/op-index.md +++ b/docs/op/op-index.md @@ -3,6 +3,6 @@ - [集群添加NODE 节点](AddNode.md) - [集群添加MASTER 节点](AddMaster.md) - [升级K8S 版本](upgrade.md) -- [修改集群VIP地址](ChangeVIP.md) +- [修改多主集群VIP地址](ChangeVIP.md) - [修改AIO部署的系统IP](change_ip_allinone.md) -- [删除集群某一节点](del_one_node.md) +- [集群删除单个节点](del_one_node.md) diff --git a/docs/op/upgrade.md b/docs/op/upgrade.md index 8216d0614..a3a17c46c 100644 --- a/docs/op/upgrade.md +++ b/docs/op/upgrade.md @@ -2,8 +2,8 @@ 集群更新存在一定风险,请谨慎操作。 -- 项目分支1.8安装的集群目前只能进行小版本1.8.x的升级 -- 项目分支1.9和master安装的集群可以任意小版本、大版本的升级,即1.9.x升级至1.10.x也可以 +- 项目分支`master`安装的集群可以在k8s 1.8/1.9/1.10任意小版本、大版本间升级(特别注意如果跨大版本升级需要修改/etc/ansible/hosts文件中的参数K8S_VER) +- 项目分支`closed`(已停止更新)安装的集群目前只能进行小版本1.8.x的升级 ### 备份etcd数据 @@ -19,7 +19,7 @@ $ ETCDCTL_API=3 etcdctl --write-out=table snapshot status backup.db ### 升级步骤 - 1.下载最新项目代码 `git pull origin master` -- 2.下载新的二进制解压并覆盖 `/etc/ansible/bin/` 目录下文件 +- 2.下载新的二进制解压并替换 `/etc/ansible/bin/` 目录下文件 - 3a.如果可以接受短暂业务中断,执行 `ansible-playbook -t upgrade_k8s,restart_dockerd 22.upgrade.yml` 即可 - 3b.如果要求零中断升级集群 - 首先执行 `ansible-playbook -t upgrade_k8s 22.upgrade.yml` (该步骤不会影响k8s上的业务应用) diff --git a/roles/cluster-addon/defaults/main.yml b/roles/cluster-addon/defaults/main.yml index 63e810a5b..acc59952f 100644 --- a/roles/cluster-addon/defaults/main.yml +++ b/roles/cluster-addon/defaults/main.yml @@ -8,9 +8,8 @@ metricsserver_install: "yes" # dashboard 自动安装 dashboard_install: "yes" -# ingress 自动安装 -#ingress_install: "no" -#ingress_backend: "traefik" +# traefik-ingress 自动安装 +ingress_install: "no" # heapster 自动安装 heapster_install: "no" diff --git a/roles/cluster-addon/tasks/main.yml b/roles/cluster-addon/tasks/main.yml index d8198f312..b50473b6e 100644 --- a/roles/cluster-addon/tasks/main.yml +++ b/roles/cluster-addon/tasks/main.yml @@ -25,6 +25,11 @@ when: '"kubernetes-dashboard" not in pod_info.stdout and dashboard_install == "yes"' ignore_errors: true +- name: 创建 traefik-ingress部署 + shell: "sleep 5; {{ bin_dir }}/kubectl apply -f {{ base_dir }}/manifests/ingress/traefik-ingress.yaml" + when: '"traefik-ingress-controller" not in pod_info.stdout and ingress_install == "yes"' + ignore_errors: true + - name: 创建 heapster部署 shell: "sleep 5; {{ bin_dir }}/kubectl apply -f {{ base_dir }}/manifests/heapster" when: '"heapster" not in pod_info.stdout and heapster_install == "yes"'