update helm v2.14.1

pull/641/head
gjmzj 2019-06-10 23:55:33 +08:00
parent 2d19de3a18
commit 1e25610ffa
5 changed files with 17 additions and 19 deletions

View File

@ -6,13 +6,13 @@
## 安全安装 helm在线 ## 安全安装 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 ``` bash
# 1.如果已安装非安全模式,使用 helm reset 清理 # 1.配置默认helm参数 vi /etc/ansible/roles/helm/defaults/main.yml
# 2.配置默认helm参数 vi /etc/ansible/roles/helm/defaults/main.yml # 2.执行安装
# 3.执行安装
$ ansible-playbook /etc/ansible/roles/helm/helm.yml $ 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`中的步骤 简单介绍下`/roles/helm/tasks/main.yml`中的步骤
@ -23,12 +23,6 @@ $ ansible-playbook /etc/ansible/roles/helm/helm.yml
- 5-安全安装tiller到集群tiller服务启用tls验证 - 5-安全安装tiller到集群tiller服务启用tls验证
- 6-配置helm客户端使用tls方式与tiller服务端通讯 - 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离线 ## 安全安装 helm离线
在内网环境中由于不能访问互联网无法连接repo地址使用上述的在线安装helm的方式会报错。因此需要使用离线安装的方法来安装。 在内网环境中由于不能访问互联网无法连接repo地址使用上述的在线安装helm的方式会报错。因此需要使用离线安装的方法来安装。
离线安装步骤: 离线安装步骤:

View File

@ -3,11 +3,11 @@
# It's suggested to download the entire *.tar.gz at https://pan.baidu.com/s/1c4RFaA # It's suggested to download the entire *.tar.gz at https://pan.baidu.com/s/1c4RFaA
# example releases # example releases
K8S_VER=v1.13.4 K8S_VER=v1.13.7
ETCD_VER=v3.3.8 ETCD_VER=v3.3.10
DOCKER_VER=18.09.2 DOCKER_VER=18.09.6
CNI_VER=v0.7.5 CNI_VER=v0.7.5
DOCKER_COMPOSE_VER=1.18.0 DOCKER_COMPOSE_VER=1.23.2
HARBOR_VER=v1.5.4 HARBOR_VER=v1.5.4
CONTAINERD_VER=1.2.6 CONTAINERD_VER=1.2.6

View File

@ -2,7 +2,8 @@ helm_namespace: kube-system
helm_cert_cn: helm001 helm_cert_cn: helm001
tiller_sa: tiller tiller_sa: tiller
tiller_cert_cn: tiller001 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 repo_url: https://kubernetes-charts.storage.googleapis.com
history_max: 5
# 如果默认官方repo 网络访问不稳定可以使用如下的阿里云镜像repo # 如果默认官方repo 网络访问不稳定可以使用如下的阿里云镜像repo
#repo_url: https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts #repo_url: https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

View File

@ -1,3 +1,3 @@
- hosts: deploy - hosts: "{{ groups['kube-master'][0] }}"
roles: roles:
- helm - helm

View File

@ -22,14 +22,16 @@
-profile=kubernetes {{ tiller_cert_cn }}-csr.json | {{ bin_dir }}/cfssljson -bare {{ tiller_cert_cn }}" -profile=kubernetes {{ tiller_cert_cn }}-csr.json | {{ bin_dir }}/cfssljson -bare {{ tiller_cert_cn }}"
- name: 准备rbac配置 - 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 - 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 ignore_errors: true
run_once: true
- name: 安装tiller - name: 安装tiller
shell: "{{ bin_dir }}/helm init \ shell: "{{ bin_dir }}/helm init \
--history-max {{ history_max }} \
--tiller-tls \ --tiller-tls \
--tiller-tls-verify \ --tiller-tls-verify \
--tiller-tls-cert {{ ca_dir }}/{{ tiller_cert_cn }}.pem \ --tiller-tls-cert {{ ca_dir }}/{{ tiller_cert_cn }}.pem \
@ -38,7 +40,8 @@
--service-account {{ tiller_sa }} \ --service-account {{ tiller_sa }} \
--tiller-namespace {{ helm_namespace }} \ --tiller-namespace {{ helm_namespace }} \
--tiller-image {{ tiller_image }} \ --tiller-image {{ tiller_image }} \
--stable-repo-url {{ repo_url }}" --stable-repo-url {{ repo_url }} \
--upgrade"
ignore_errors: true ignore_errors: true
- name: 配置helm客户端 - name: 配置helm客户端