mirror of https://github.com/easzlab/kubeasz.git
update helm v2.14.1
parent
2d19de3a18
commit
1e25610ffa
|
@ -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的方式会报错。因此需要使用离线安装的方法来安装。
|
||||||
离线安装步骤:
|
离线安装步骤:
|
||||||
|
|
|
@ -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
|
||||||
|
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -1,3 +1,3 @@
|
||||||
- hosts: deploy
|
- hosts: "{{ groups['kube-master'][0] }}"
|
||||||
roles:
|
roles:
|
||||||
- helm
|
- helm
|
||||||
|
|
|
@ -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客户端
|
||||||
|
|
Loading…
Reference in New Issue