执行以下命令在您的机器上创建仓库。
mkdir helm-repo
cd helm-repo
使用helm create
创建一个名为nginx
的文件夹,它会自动为您的应用创建YAML
模板和目录。一般情况下,不建议修改顶层目录中的文件名和目录名。
$ helm create nginx
$ tree nginx/
nginx/
├── charts
├── Chart.yaml
├── templates
│ ├── deployment.yaml
│ ├── _helpers.tpl
│ ├── ingress.yaml
│ ├── NOTES.txt
│ └── service.yaml
└── values.yaml
Chart.yaml
用于定义Chart
的基本信息,包括名称、API和应用版本。
...
name: nginx
...
version: 0.1.0
...
当您向Kubernetes
部署基于Helm
的应用时,可以直接在KubeSphere
控制台上编辑values.yaml 文件。
...
service:
type: ClusterIP
port: 80
...
前往nginx
的上一个目录,执行以下命令打包您的Chart
,这会创建一个.tgz
包。
$ helm package nginx
$ ls
nginx nginx-0.1.0.tgz
注意: postgres启动环境变量需要添加
POSTGRES_DB=postgres
否则odoo无法连接postgres
关于删除探针
probe
可参考``,如下
# remove probes in deployment.yaml
SED_DELETE_PROBE :=
LIVENESS_PROBE ?= livenessProbe:
SED_DELETE_PROBE := /${LIVENESS_PROBE}/d
READINESS_PROBE ?= readinessProbe:
SED_DELETE_PROBE := ${SED_DELETE_PROBE};/${READINESS_PROBE}/d
PROBE_HTTP_GET ?= httpGet:
SED_DELETE_PROBE := ${SED_DELETE_PROBE};/${PROBE_HTTP_GET}/d
PROBE_PATH ?= path:\ \/
SED_DELETE_PROBE := ${SED_DELETE_PROBE};/${PROBE_PATH}/d
PROBE_PORT ?= port:\ http
SED_DELETE_PROBE := ${SED_DELETE_PROBE};/${PROBE_PORT}/d
sed-chart:
sed -i '' "${SED_DELETE_PROBE}" ${CHART_NAME}/templates/deployment.yaml
pod
内的时区是UTC,有以下两个方法修改时区
- 添加环境变量
TZ
...
spec:
containers:
- name: ngx-time
image: nginx:latest
env:
- name: TZ
value: Asia/Shanghai
...
- 挂载服务器本地
/etc/localtime
...
volumes:
- hostPath:
path: /etc/localtime
type: ""
name: localtime
containers:
- images: XXX
...
volumeMounts:
- mountPath: /etc/localtime
name: localtime
...