Dravening / ks

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Helm 开发者指南

1. 创建本地仓库

执行以下命令在您的机器上创建仓库。

mkdir helm-repo
cd helm-repo

2. 创建应用

使用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
...

3. 打包 Chart

前往nginx的上一个目录,执行以下命令打包您的Chart,这会创建一个.tgz包。

$ helm package nginx
$ ls
nginx  nginx-0.1.0.tgz

注意: postgres启动环境变量需要添加POSTGRES_DB=postgres 否则odoo无法连接postgres

参考: Odoo Docker安装&部署 odoo环境变量配置

关于删除探针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问题

pod内的时区是UTC,有以下两个方法修改时区

  1. 添加环境变量TZ
...
spec:
  containers:
  - name: ngx-time
    image: nginx:latest
    env:
      - name: TZ
        value: Asia/Shanghai
...
  1. 挂载服务器本地/etc/localtime
...
volumes:
  - hostPath:
      path: /etc/localtime
      type: ""
    name: localtime
containers:
  - images: XXX
...
    volumeMounts:
     - mountPath: /etc/localtime
       name: localtime
...

About


Languages

Language:PLpgSQL 93.2%Language:Makefile 2.5%Language:Mustache 2.2%Language:Smarty 1.9%Language:Shell 0.1%Language:Go 0.1%Language:Dockerfile 0.0%