mirror of https://github.com/easzlab/kubeasz.git
update helm v2.14.1
parent
2d19de3a18
commit
1e25610ffa
|
@ -6,13 +6,13 @@
|
|||
|
||||
## 安全安装 helm(在线)
|
||||
|
||||
在helm客户端和tiller服务器间建立安全的SSL/TLS认证机制;tiller服务器和helm客户端都是使用同一CA签发的`client cert`,然后互相识别对方身份。建议通过本项目提供的`ansible role`安装,符合官网上介绍的安全加固措施,在delpoy节点运行:
|
||||
以下步骤以 helm/tiller 版本 v2.14.1 为例,在helm客户端和tiller服务器间建立安全的SSL/TLS认证机制;tiller服务器和helm客户端都是使用同一CA签发的`client cert`,然后互相识别对方身份。建议通过本项目提供的`ansible role`安装,符合官网上介绍的安全加固措施,在ansible控制端运行:
|
||||
``` bash
|
||||
# 1.如果已安装非安全模式,使用 helm reset 清理
|
||||
# 2.配置默认helm参数 vi /etc/ansible/roles/helm/defaults/main.yml
|
||||
# 3.执行安装
|
||||
# 1.配置默认helm参数 vi /etc/ansible/roles/helm/defaults/main.yml
|
||||
# 2.执行安装
|
||||
$ ansible-playbook /etc/ansible/roles/helm/helm.yml
|
||||
```
|
||||
- 注意:默认仅在第一个master节点初始化helm客户端,如果需要在其他节点初始化helm客户端,请修改 roles/helm/helm.yml 文件的 hosts 定义,然后再次执行`ansible-playbook /etc/ansible/roles/helm/helm.yml`即可
|
||||
|
||||
简单介绍下`/roles/helm/tasks/main.yml`中的步骤
|
||||
|
||||
|
@ -23,12 +23,6 @@ $ ansible-playbook /etc/ansible/roles/helm/helm.yml
|
|||
- 5-安全安装tiller到集群,tiller服务启用tls验证
|
||||
- 6-配置helm客户端使用tls方式与tiller服务端通讯
|
||||
|
||||
### 注意因使用了TLS认证,所以helm命令执行分以下两种情况
|
||||
|
||||
- 执行与tiller服务有关的命令,比如 `helm ls` `helm version` `helm install`等需要加`--tls`参数
|
||||
- 执行其他命令,比如`helm search` `helm fetch` `helm home`等不需要加`--tls`
|
||||
- helm v2.11.0及以上版本,启用环境变量 HELM_TLS_ENABLE=true,可以都不用加 --tls 参数
|
||||
|
||||
## 安全安装 helm(离线)
|
||||
在内网环境中,由于不能访问互联网,无法连接repo地址,使用上述的在线安装helm的方式会报错。因此需要使用离线安装的方法来安装。
|
||||
离线安装步骤:
|
||||
|
|
|
@ -3,11 +3,11 @@
|
|||
# It's suggested to download the entire *.tar.gz at https://pan.baidu.com/s/1c4RFaA
|
||||
|
||||
# example releases
|
||||
K8S_VER=v1.13.4
|
||||
ETCD_VER=v3.3.8
|
||||
DOCKER_VER=18.09.2
|
||||
K8S_VER=v1.13.7
|
||||
ETCD_VER=v3.3.10
|
||||
DOCKER_VER=18.09.6
|
||||
CNI_VER=v0.7.5
|
||||
DOCKER_COMPOSE_VER=1.18.0
|
||||
DOCKER_COMPOSE_VER=1.23.2
|
||||
HARBOR_VER=v1.5.4
|
||||
CONTAINERD_VER=1.2.6
|
||||
|
||||
|
|
|
@ -2,7 +2,8 @@ helm_namespace: kube-system
|
|||
helm_cert_cn: helm001
|
||||
tiller_sa: tiller
|
||||
tiller_cert_cn: tiller001
|
||||
tiller_image: jmgao1983/tiller:v2.12.3
|
||||
tiller_image: easzlab/tiller:v2.14.1
|
||||
repo_url: https://kubernetes-charts.storage.googleapis.com
|
||||
history_max: 5
|
||||
# 如果默认官方repo 网络访问不稳定可以使用如下的阿里云镜像repo
|
||||
#repo_url: https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
- hosts: deploy
|
||||
- hosts: "{{ groups['kube-master'][0] }}"
|
||||
roles:
|
||||
- helm
|
||||
|
|
|
@ -22,14 +22,16 @@
|
|||
-profile=kubernetes {{ tiller_cert_cn }}-csr.json | {{ bin_dir }}/cfssljson -bare {{ tiller_cert_cn }}"
|
||||
|
||||
- name: 准备rbac配置
|
||||
template: src=helm-rbac.yaml.j2 dest=./helm-rbac.yaml
|
||||
template: src=helm-rbac.yaml.j2 dest=/opt/kube/helm-rbac.yaml
|
||||
|
||||
- name: 在k8s上创建rbac
|
||||
shell: "{{ bin_dir }}/kubectl apply -f ./helm-rbac.yaml"
|
||||
shell: "{{ bin_dir }}/kubectl apply -f /opt/kube/helm-rbac.yaml"
|
||||
ignore_errors: true
|
||||
run_once: true
|
||||
|
||||
- name: 安装tiller
|
||||
shell: "{{ bin_dir }}/helm init \
|
||||
--history-max {{ history_max }} \
|
||||
--tiller-tls \
|
||||
--tiller-tls-verify \
|
||||
--tiller-tls-cert {{ ca_dir }}/{{ tiller_cert_cn }}.pem \
|
||||
|
@ -38,7 +40,8 @@
|
|||
--service-account {{ tiller_sa }} \
|
||||
--tiller-namespace {{ helm_namespace }} \
|
||||
--tiller-image {{ tiller_image }} \
|
||||
--stable-repo-url {{ repo_url }}"
|
||||
--stable-repo-url {{ repo_url }} \
|
||||
--upgrade"
|
||||
ignore_errors: true
|
||||
|
||||
- name: 配置helm客户端
|
||||
|
|
Loading…
Reference in New Issue