diff --git a/docs/guide/chrony.md b/docs/guide/chrony.md index ae32473..fba79ae 100644 --- a/docs/guide/chrony.md +++ b/docs/guide/chrony.md @@ -6,7 +6,7 @@ ## 安装配置介绍 -项目中选定一个节点(`deploy` )作为集群内部其他节点的时间同步源,而 deploy节点本身从公网源同步;当然如果整个集群都无法访问公网,那么请手动校准deploy 节点的时间后,仍旧可以作为内部集群的时间源服务器。 +项目中选定一个节点(`groups.chrony[0]`)作为集群内部其他节点的时间同步源,而这个节点本身从公网源同步;当然如果整个集群都无法访问公网,那么请手动校准这个节点的时间后,仍旧可以作为内部集群的时间源服务器。 - 配置 chrony server, 在`/etc/chrony.conf` 配置以下几项,其他项默认值即可 @@ -24,16 +24,16 @@ local stratum 10 - 配置 chrony client ``` bash -# 1. 清除所有其他时间源,只配置一个本地 deploy节点作为源 -server {{ groups.deploy[0] }} iburst +# 1. 清除所有其他时间源,只配置一个本地`groups.chrony[0]`节点作为源 +server {{ groups.chrony[0] }} iburst # 2. 其他所有项可以默认配置 ``` ## `kubeasz` 集成安装 -- 修改 ansible hosts 文件,在 `deploy` 节点配置 `NTP_ENABLED=yes` (默认: no) -- [可选] 修改 roles/chrony/var/main.yml 中的变量定义,关于文件 roles/chrony/var/main.yml 的由来请看[这里](../setup/config_guide.md) +- 修改 ansible hosts 文件,在 `chrony`组中加入选中的节点ip +- [可选] 修改 roles/chrony/defaults/main.yml 中的变量定义 对于新集群或者新节点,`chrony` 的安装配置已经集成到脚本中;对于已运行中的集群请执行如下命令进行安装: @@ -41,7 +41,7 @@ server {{ groups.deploy[0] }} iburst ## 验证配置 -- 在 chrony server (deploy 节点)检查时间源信息,默认配置为`ntp1.aliyun.com`的地址: +- 在 chrony server 检查时间源信息,默认配置为`ntp1.aliyun.com`的地址: ``` $ chronyc sources -v @@ -64,7 +64,7 @@ MS Name/IP address Stratum Poll Reach LastRx Last sample ^- 119.28.183.184 2 7 377 33 -130us[ -130us] +/- 47ms ``` -- 在 chrony server (deploy 节点)检查时间源同步状态 +- 在 chrony server 检查时间源同步状态 ``` chronyc sourcestats -v @@ -87,7 +87,7 @@ static-5-103-139-163.ip.f 20 13 42m -2.472 10.168 +3615us 6732us 119.28.183.184 16 9 19m +10.378 25.190 +3469us 6803us ``` -- 在 chrony client 检查,可以看到时间源只有一个(deploy 节点地址) +- 在 chrony client 检查,可以看到时间源只有一个(groups.chrony[0] 节点地址) ``` $ chronyc sources diff --git a/docs/guide/harbor.md b/docs/guide/harbor.md index 5551a8b..5d636ad 100644 --- a/docs/guide/harbor.md +++ b/docs/guide/harbor.md @@ -11,15 +11,15 @@ Habor是由VMWare中国团队开源的容器镜像仓库。事实上,Habor是 ### 安装步骤 -1. 在deploy节点下载最新的 [docker-compose](https://github.com/docker/compose/releases) 二进制文件,改名后把它放到项目 `/etc/ansible/bin`目录下(百度云的二进制文件中已包含) +1. 在ansible控制端下载最新的 [docker-compose](https://github.com/docker/compose/releases) 二进制文件,改名后把它放到项目 `/etc/ansible/bin`目录下(百度云的二进制文件中已包含) ``` bash wget https://github.com/docker/compose/releases/download/1.18.0/docker-compose-Linux-x86_64 mv docker-compose-Linux-x86_64 /etc/ansible/bin/docker-compose ``` -2. 在deploy节点下载最新的 [harbor](https://github.com/vmware/harbor/releases) 离线安装包,把它放到项目 `/etc/ansible/down` 目录下,也可以从分享的百度云盘下载 +2. 在ansible控制端下载最新的 [harbor](https://github.com/vmware/harbor/releases) 离线安装包,把它放到项目 `/etc/ansible/down` 目录下,也可以从分享的百度云盘下载 -3. 在deploy节点编辑/etc/ansible/hosts文件,可以参考 `example`目录下的模板,修改部分举例如下 +3. 在ansible控制端编辑/etc/ansible/hosts文件,可以参考 `example`目录下的模板,修改部分举例如下 ``` bash # 参数 NEW_INSTALL=(yes/no):yes表示新建 harbor,并配置k8s节点的docker可以使用harbor仓库 @@ -29,7 +29,7 @@ mv docker-compose-Linux-x86_64 /etc/ansible/bin/docker-compose 192.168.1.8 HARBOR_DOMAIN="harbor.yourdomain.com" NEW_INSTALL=yes ``` -4. 在deploy节点执行 `ansible-playbook /etc/ansible/11.harbor.yml`,完成harbor安装和docker 客户端配置 +4. 在ansible控制端执行 `ansible-playbook /etc/ansible/11.harbor.yml`,完成harbor安装和docker 客户端配置 - 安装验证 diff --git a/docs/guide/helm.md b/docs/guide/helm.md index e221b01..e4f84a3 100644 --- a/docs/guide/helm.md +++ b/docs/guide/helm.md @@ -16,7 +16,7 @@ $ ansible-playbook /etc/ansible/roles/helm/helm.yml 简单介绍下`/roles/helm/tasks/main.yml`中的步骤 -- 1-下载最新release的helm客户端到/etc/ansible/bin目录下,再由它自动推送到deploy的{{ bin_dir }}目录下 +- 1-下载最新release的helm客户端到/etc/ansible/bin目录下 - 2-由集群CA签发helm客户端证书和私钥 - 3-由集群CA签发tiller服务端证书和私钥 - 4-创建tiller专用的RBAC配置,只允许helm在指定的namespace查看和安装应用 diff --git a/docs/guide/kubedns.md b/docs/guide/kubedns.md index a1082d1..0d66cb4 100644 --- a/docs/guide/kubedns.md +++ b/docs/guide/kubedns.md @@ -8,7 +8,7 @@ DNS 是 k8s 集群首先需要部署的,集群中的其他 pods 使用它提 + 安装 -目前 kubeasz 已经自动集成安装 dns 组件,配置模板位于`roles/cluster-addon/templates/`目录,安装文件位于 deploy 节点`/opt/kube/kube-system/`目录 +目前 kubeasz 已经自动集成安装 dns 组件,配置模板位于`roles/cluster-addon/templates/`目录 + 集群 pod默认继承 node的dns 解析,修改 kubelet服务启动参数 --resolv-conf="",可以更改这个特性,详见 kubelet 启动参数 diff --git a/docs/mixes/01.fix_kubelet_annoymous_access.md b/docs/mixes/01.fix_kubelet_annoymous_access.md index f1e392f..ef542e1 100644 --- a/docs/mixes/01.fix_kubelet_annoymous_access.md +++ b/docs/mixes/01.fix_kubelet_annoymous_access.md @@ -16,7 +16,7 @@ kubelet默认启动参数`--anonymous-auth=true`风险非常大,黑客可以 ## 漏洞的修复 -最新代码已经修复,参考[官方文档说明](https://kubernetes.io/docs/admin/kubelet-authentication-authorization/),已有集群可以登陆`deploy`节点操作如下: +最新代码已经修复,参考[官方文档说明](https://kubernetes.io/docs/admin/kubelet-authentication-authorization/),已有集群可以登陆ansible控制端操作如下: ``` bash $ cd /etc/ansible $ git pull origin master diff --git a/docs/op/ChangeVIP.md b/docs/op/ChangeVIP.md index 31175b6..6df41f7 100644 --- a/docs/op/ChangeVIP.md +++ b/docs/op/ChangeVIP.md @@ -45,7 +45,7 @@ Kubernetes master is running at https://192.168.1.39:8443 ## 变更操作 -- `ansible playbook`可以使用tags来控制只允许部分任务执行,这里为简化操作没有细化,在deploy节点具体操作如下: +- `ansible playbook`可以使用tags来控制只允许部分任务执行,这里为简化操作没有细化,在ansible控制端具体操作如下: ``` bash # 1.修改/etc/ansible/hosts 配置项MASTER_IP,KUBE_APISERVER diff --git a/docs/op/upgrade.md b/docs/op/upgrade.md index 0afe1ab..8bdd9a8 100644 --- a/docs/op/upgrade.md +++ b/docs/op/upgrade.md @@ -22,14 +22,14 @@ $ ETCDCTL_API=3 etcdctl --write-out=table snapshot status backup.db 快速升级是指只升级`k8s`版本,比较常见如`Bug修复` `重要特性发布`时使用。 - 首先去官网release下载待升级的k8s版本,例如`https://dl.k8s.io/v1.11.5/kubernetes-server-linux-amd64.tar.gz` -- 解压下载的tar.gz文件,找到如下`kube*`开头的二进制,复制替换deploy节点目录`/etc/ansible/bin`对应文件 +- 解压下载的tar.gz文件,找到如下`kube*`开头的二进制,复制替换ansible控制端目录`/etc/ansible/bin`对应文件 - kube-apiserver - kube-controller-manager - kubectl - kubelet - kube-proxy - kube-scheduler -- 在deploy节点执行`ansible-playbook -t upgrade_k8s 22.upgrade.yml`即可完成k8s 升级,不会中断业务应用 +- 在ansible控制端执行`ansible-playbook -t upgrade_k8s 22.upgrade.yml`即可完成k8s 升级,不会中断业务应用 如果使用 easzctl 命令行,可按如下执行: diff --git a/docs/setup/00-planning_and_overall_intro.md b/docs/setup/00-planning_and_overall_intro.md index b12bf57..0c80de5 100644 --- a/docs/setup/00-planning_and_overall_intro.md +++ b/docs/setup/00-planning_and_overall_intro.md @@ -56,7 +56,7 @@ yum update yum install python -y ``` -### 3.在deploy节点安装及准备ansible +### 3.在ansible控制端安装及准备ansible - pip 安装 ansible(如果 Ubuntu pip报错,请看[附录](00-planning_and_overall_intro.md#Appendix)) @@ -72,7 +72,7 @@ pip install pip --upgrade -i http://mirrors.aliyun.com/pypi/simple/ --trusted-ho pip install --no-cache-dir ansible -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com ``` -- 在deploy节点配置免密码登陆 +- 在ansible控制端配置免密码登陆 ``` bash # 更安全 Ed25519 算法 @@ -83,7 +83,7 @@ ssh-keygen -t rsa -b 2048 -N '' -f ~/.ssh/id_rsa ssh-copy-id $IPs #$IPs为所有节点地址包括自身,按照提示输入yes 和root密码 ``` -### 4.在deploy节点编排k8s安装 +### 4.在ansible控制端编排k8s安装 - 4.1 下载项目源码 diff --git a/docs/setup/01-CA_and_prerequisite.md b/docs/setup/01-CA_and_prerequisite.md index fc313af..8781f36 100644 --- a/docs/setup/01-CA_and_prerequisite.md +++ b/docs/setup/01-CA_and_prerequisite.md @@ -37,7 +37,7 @@ kubernetes 系统各组件需要使用 TLS 证书对通信进行加密,使用 + `kubectl` `calico` `kube-proxy` 只需要`client cert`,因此证书请求中 `hosts` 字段可以为空 + `kubelet` 需要标识自己服务的`server cert`,也需要`client cert`请求`apiserver`,也使用一个对等证书 -整个集群要使用统一的CA 证书,只需要在 deploy 节点创建,然后分发给其他节点;为了保证安装的幂等性,如果已经存在CA 证书,就跳过创建CA 步骤 +整个集群要使用统一的CA 证书,只需要在ansible控制端创建,然后分发给其他节点;为了保证安装的幂等性,如果已经存在CA 证书,就跳过创建CA 步骤 #### 创建 CA 配置文件 [ca-config.json.j2](../../roles/deploy/templates/ca-config.json.j2) ``` bash diff --git a/docs/setup/easzctl_cmd.md b/docs/setup/easzctl_cmd.md index 8a07794..ece91db 100644 --- a/docs/setup/easzctl_cmd.md +++ b/docs/setup/easzctl_cmd.md @@ -27,7 +27,7 @@ ``` +----------------+ +-----------------+ |easzctl 1.1.1.1 | |cluster-aio: | -+--+---+---+-----+ |deploy 4.4.4.4 | ++--+---+---+-----+ | | | | | |master 4.4.4.4 | | | +-------------------->+etcd 4.4.4.4 | | | |node 4.4.4.4 | @@ -36,7 +36,7 @@ v v +--+------------+ +---+----------------------------+ | cluster-1: | | cluster-2: | -| deploy 2.2.2.1| | deploy 3.3.3.1 | +| | | | | master 2.2.2.1| | master 3.3.3.1/3.3.3.2 | | etcd 2.2.2.2| | etcd 3.3.3.1/3.3.3.2/3.3.3.3 | | node 2.2.2.3| | node 3.3.3.4/3.3.3.5/3.3.3.6 |