2017-05-14 19:39:33 +08:00
|
|
|
|
# Helm命令参考
|
2017-05-14 19:08:56 +08:00
|
|
|
|
|
|
|
|
|
## 查询charts
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
helm search
|
|
|
|
|
helm search mysql
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 查询package详细信息
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
helm inspect stable/mariadb
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 部署package
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
helm install stable/mysql
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
部署之前可以自定义package的选项:
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
# 查询支持的选项
|
|
|
|
|
helm inspect values stable/mysql
|
|
|
|
|
|
|
|
|
|
# 自定义password
|
|
|
|
|
echo "mysqlRootPassword: passwd" > config.yaml
|
|
|
|
|
helm install -f config.yaml stable/mysql
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
另外,还可以通过打包文件(.tgz)或者本地package路径(如path/foo)来部署应用。
|
|
|
|
|
|
|
|
|
|
## 查询服务(Release)列表
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
➜ ~ helm ls
|
|
|
|
|
NAME REVISION UPDATED STATUS CHART NAMESPACE
|
|
|
|
|
quieting-warthog 1 Tue Feb 21 20:13:02 2017 DEPLOYED mysql-0.2.5 default
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 查询服务(Release)状态
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
➜ ~ helm status quieting-warthog
|
|
|
|
|
LAST DEPLOYED: Tue Feb 21 16:13:02 2017
|
|
|
|
|
NAMESPACE: default
|
|
|
|
|
STATUS: DEPLOYED
|
|
|
|
|
|
|
|
|
|
RESOURCES:
|
|
|
|
|
==> v1/Secret
|
|
|
|
|
NAME TYPE DATA AGE
|
|
|
|
|
quieting-warthog-mysql Opaque 2 9m
|
|
|
|
|
|
|
|
|
|
==> v1/PersistentVolumeClaim
|
|
|
|
|
NAME STATUS VOLUME CAPACITY ACCESSMODES AGE
|
|
|
|
|
quieting-warthog-mysql Bound pvc-90af9bf9-f80d-11e6-930a-42010af00102 8Gi RWO 9m
|
|
|
|
|
|
|
|
|
|
==> v1/Service
|
|
|
|
|
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
|
|
|
|
|
quieting-warthog-mysql 10.3.253.105 <none> 3306/TCP 9m
|
|
|
|
|
|
|
|
|
|
==> extensions/v1beta1/Deployment
|
|
|
|
|
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
|
|
|
|
|
quieting-warthog-mysql 1 1 1 1 9m
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
NOTES:
|
|
|
|
|
MySQL can be accessed via port 3306 on the following DNS name from within your cluster:
|
|
|
|
|
quieting-warthog-mysql.default.svc.cluster.local
|
|
|
|
|
|
|
|
|
|
To get your root password run:
|
|
|
|
|
|
|
|
|
|
kubectl get secret --namespace default quieting-warthog-mysql -o jsonpath="{.data.mysql-root-password}" | base64 --decode; echo
|
|
|
|
|
|
|
|
|
|
To connect to your database:
|
|
|
|
|
|
|
|
|
|
1. Run an Ubuntu pod that you can use as a client:
|
|
|
|
|
|
|
|
|
|
kubectl run -i --tty ubuntu --image=ubuntu:16.04 --restart=Never -- bash -il
|
|
|
|
|
|
|
|
|
|
2. Install the mysql client:
|
|
|
|
|
|
|
|
|
|
$ apt-get update && apt-get install mysql-client -y
|
|
|
|
|
|
|
|
|
|
3. Connect using the mysql cli, then provide your password:
|
|
|
|
|
$ mysql -h quieting-warthog-mysql -p
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 升级和回滚Release
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
# 升级
|
|
|
|
|
cat "mariadbUser: user1" >panda.yaml
|
|
|
|
|
helm upgrade -f panda.yaml happy-panda stable/mariadb
|
|
|
|
|
|
|
|
|
|
# 回滚
|
|
|
|
|
helm rollback happy-panda 1
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## 删除Release
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
helm delete quieting-warthog
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## repo管理
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
# 添加incubator repo
|
|
|
|
|
helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/
|
|
|
|
|
|
|
|
|
|
# 查询repo列表
|
|
|
|
|
helm repo list
|
|
|
|
|
|
|
|
|
|
# 生成repo索引(用于搭建helm repository)
|
|
|
|
|
helm repo index
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## chart管理
|
|
|
|
|
|
|
|
|
|
```sh
|
|
|
|
|
# 创建一个新的chart
|
|
|
|
|
helm create deis-workflow
|
|
|
|
|
|
|
|
|
|
# validate chart
|
|
|
|
|
helm lint
|
|
|
|
|
|
|
|
|
|
# 打包chart到tgz
|
|
|
|
|
helm package deis-workflow
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
## Helm命令参考
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
completion Generate bash autocompletions script
|
|
|
|
|
create create a new chart with the given name
|
|
|
|
|
delete given a release name, delete the release from Kubernetes
|
|
|
|
|
dependency manage a chart's dependencies
|
|
|
|
|
fetch download a chart from a repository and (optionally) unpack it in local directory
|
|
|
|
|
get download a named release
|
|
|
|
|
history fetch release history
|
|
|
|
|
home displays the location of HELM_HOME
|
|
|
|
|
init initialize Helm on both client and server
|
|
|
|
|
inspect inspect a chart
|
|
|
|
|
install install a chart archive
|
|
|
|
|
lint examines a chart for possible issues
|
|
|
|
|
list list releases
|
|
|
|
|
package package a chart directory into a chart archive
|
|
|
|
|
repo add, list, remove, update, and index chart repositories
|
|
|
|
|
reset uninstalls Tiller from a cluster
|
|
|
|
|
rollback roll back a release to a previous revision
|
|
|
|
|
search search for a keyword in charts
|
|
|
|
|
serve start a local http web server
|
|
|
|
|
status displays the status of the named release
|
|
|
|
|
test test a release
|
|
|
|
|
upgrade upgrade a release
|
|
|
|
|
verify verify that a chart at the given path has been signed and is valid
|
|
|
|
|
version print the client/server version information
|
|
|
|
|
|
|
|
|
|
Flags:
|
|
|
|
|
--debug enable verbose output
|
|
|
|
|
--home string location of your Helm config. Overrides $HELM_HOME (default "~/.helm")
|
|
|
|
|
--host string address of tiller. Overrides $HELM_HOST
|
|
|
|
|
--kube-context string name of the kubeconfig context to use
|
|
|
|
|
--tiller-namespace string namespace of tiller (default "kube-system")
|
|
|
|
|
```
|