更新01-创建CA证书和环境配置.md

pull/275/head
jmgao 2017-12-06 21:45:07 +08:00
parent 3bb53a5af8
commit 3b57ed0a40
1 changed files with 32 additions and 6 deletions

View File

@ -72,12 +72,10 @@ kubernetes 系统各组件需要使用 TLS 证书对通信进行加密,使用
``` bash
cfssl gencert -initca ca-csr.json | cfssljson -bare ca
```
+ 注意整个集群只能有一个CA证书和配置文件所以下一步要分发给每一个节点包括calico/node也需要使用
+ 注意整个集群只能有一个CA证书和配置文件所以下一步要分发给每一个节点包括calico/node也需要使用`ansible` 角色(role) `prepare` 会完成CA 证书分发所以把ca 证书相关先复制到 `roles/prepare/files/`
### 集群环境变量、CA分发
请在另外窗口打开[roles/prepare/tasks/main.yml](../roles/prepare/tasks/main.yml) 文件,因比较简单直观,这里不展开讲解了。
``` bash
roles/prepare/
├── files
@ -89,6 +87,13 @@ roles/prepare/
└── tasks
└── main.yml
```
请在另外窗口打开[roles/prepare/tasks/main.yml](../roles/prepare/tasks/main.yml) 文件,比较简单直观
1. 首先创建一些基础文件目录
1. 修改环境变量,把{{ bin_dir }} 添加到$PATH需要重新登陆 shell生效
1. 把证书工具 CFSSL下发到指定节点
1. 把CA 证书相关下发到指定节点的 {{ ca_dir }} 目录
### LB 负载均衡部署
``` bash
roles/lb
@ -146,9 +151,9 @@ listen kube-master
如果用apt安装的话可以在/usr/share/doc/haproxy目录下找到配置指南configuration.txt.gz全局和默认配置这里不展开关注`listen` 代理设置模块,各项配置说明:
+ 名称 kube-master
+ bind 监听客户端请求的地址/端口保证监听master的VIP地址和端口{{ MASTER_PORT }}与hosts里面设置对应
+ mode 选择四层负载模式
+ balance 选择负载算法
+ server 配置master节点真实的endpoits必须与hosts文件对应设置
+ mode 选择四层负载模式 (当然你也可以选择七层负载,请查阅指南,适当调整)
+ balance 选择负载算法 (负载算法也有很多供选择)
+ server 配置master节点真实的endpoits必须与 [hosts文件](../example/hosts.m-masters.example)对应设置
#### 安装keepalived
@ -203,3 +208,24 @@ vrrp_instance VI-kube-master {
}
```
+ 备节点的配置类似主节点,除了优先级和检测脚本
### 启动 keepalived 和 haproxy 后验证
+ lb 节点验证,假定 MASTER_PORT=8443
``` bash
systemctl status haproxy # 检查进程状态
journalctl -u haproxy # 检查进程日志是否有报错信息
systemctl status keepalived # 检查进程状态
journalctl -u keepalived # 检查进程日志是否有报错信息
netstat -antlp|grep 8443 # 检查tcp端口是否监听
```
+ 在 keepalived 主节点
``` bash
ip a # 检查 master的 VIP地址是否存在
```
### keepalived 主备切换演练
1. 尝试关闭 keepalived主节点上的 haproxy进程然后在keepalived 备节点上查看 master的 VIP地址是否能够漂移过来并依次检查上一步中的验证项。
1. 尝试直接关闭 keepalived 主节点系统,检查各验证项。