使容器内时间与宿主机同步

pull/62/head
Jimmy Song 2017-10-31 17:21:08 +08:00
parent cc38b845d6
commit 965f443527
2 changed files with 57 additions and 13 deletions

View File

@ -123,4 +123,25 @@ spec:
这个例子就是用来再应用程序启动前首先从GitHub中拉取代码并存储到共享目录下。
关于Init容器的更详细说明请参考 [init容器](../concepts/init-containers.md)。
关于Init容器的更详细说明请参考 [init容器](../concepts/init-containers.md)。
## 5. 使容器内时间与宿主机同步
我们下载的很多容器内的时区都是格林尼治时间与北京时间差8小时这将导致容器内的日志和文件创建时间与实际时区不符有两种方式解决这个问题
- 修改镜像中的时区配置文件
- 将宿主机的时区配置文件`/etc/localtime`使用volume方式挂载到容器中
第二种方式比较简单不需要重做镜像只要在应用的yaml文件中增加如下配置
```yaml
volumeMounts:
- name: host-time
mountPath: /etc/localtime
readOnly: true
volumes:
- name: host-time
hostPath:
path: /etc/localtime
```

View File

@ -13,18 +13,35 @@ Chart有特定的目录结构可以打包起来进行版本控制。
### Chart的组成结构
我们以nginx的chart为例讲解chart的组成结构。
```bash
nginx/
Chart.yaml # 必须一个包含chart的名称、版本和启用条件信息等的YAML文件
LICENSE # 可选: chart的许可证
README.md # 可选: 使用说明
requirements.yaml # 可选: 该chart的依赖配置
values.yaml # 必须该chart的默认配置值
charts/ # 可选: 包含该chart依赖的chart
templates/ # 可选kubernetes manifest文件模板用于生成kubernetes yaml文件
templates/NOTES.txt # 可选: 该chart的使用说明和提示信息文本文件作为helm install后的提示信息
```
wordpress/
Chart.yaml # A YAML file containing information about the chart
LICENSE # OPTIONAL: A plain text file containing the license for the chart
README.md # OPTIONAL: A human-readable README file
requirements.yaml # OPTIONAL: A YAML file listing dependencies for the chart
values.yaml # The default configuration values for this chart
charts/ # OPTIONAL: A directory containing any charts upon which this chart depends.
templates/ # OPTIONAL: A directory of templates that, when combined with values,
# will generate valid Kubernetes manifest files.
templates/NOTES.txt # OPTIONAL: A plain text file containing short usage notes
```
### Chart的安装方式
安装chart主要分为安装本地定义的chart和远程chart仓库中的chart两种方式。
**安装本地chart**
- 指定本地chart目录helm install .
- 指定本地chart压缩包helm install nginx-1.2.3.tgz
**安装chart仓库中的chart**
- 使用默认的远程仓库helm install stable/nginx
- 使用指定的仓库helm install localhost:8879/nginx-1.2.3.tgz
实际上可以将chart打包后作为静态文件托管到web服务器上例如GitHub pages作为chart仓库也可以。
### 依赖管理
@ -40,7 +57,11 @@ wordpress/
## Chart仓库
Chart 仓库repository是一个用来托管`index.yaml`文件和打包好的chart文件的web服务器。当前chart仓库本身没有设置身份和权限验证查看[此链接](https://github.com/kubernetes/helm/issues/1038)获取该问题的最新进展。
因为chart仓库只是一个HTTP服务通过HTTP GET获取YAML文件和chart的压缩包所以可以将这些文件存储在web服务器中例如GCS、Amazon S3、GitHub Pages等。
关于chart仓库的更多信息请参考[Helm chart文档](https://github.com/kubernetes/helm/blob/master/docs/chart_repository.md)。
## 构建Monocular UI
@ -107,4 +128,6 @@ $ helm install monocular/monocular
[Monocular UI]()
[Helm Chart - GitHub](https://github.com/kubernetes/helm/blob/master/docs/charts.md)
[Helm Chart - GitHub](https://github.com/kubernetes/helm/blob/master/docs/charts.md)
[简化Kubernetes应用部署工具-Helm之应用部署](https://www.kubernetes.org.cn/2706.html)