直し方 Error: must either provide a name or specify --generate-name
ヘルム
サンプルヘルムチャート名をmychartとして作成し、nginxサービスを使用してdeployment.yaml、service.yaml、ingress.yamlを記述しました。その後、$ helm install mychartのようなコマンドを実行します
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
ports:
- name: main
port: 80
protocol: TCP
targetPort: 80
selector:
app: nginx
apiVersion: extensions/v1beta2
kind: Deployment
metadata:
name: nginx
spec:
replicas: 3
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.13
ports:
containerPort: 80
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
name: nginx
annotations:
http.port: "443"
spec:
backend:
serviceName: nginx
servicePort: 80
予期される出力:..... status: DEPLOYED
追加するだけ--generate-name
helm
コマンドの最後
V3.xのヘルムドキュメントによると
helm install --help
Usage:
helm install [NAME] [CHART] [flags]
あなたが使いたい:
helm install "your release name"チャート
例えば:
# helm repo add stable https://kubernetes-charts.storage.googleapis.com/
# helm install wordpress-helm-testing stable/wordpress
NAME: wordpress-helm-testing
LAST DEPLOYED: 2019-10-07 15:56:21.205156 -0700 PDT m=+1.763748029
NAMESPACE: default
STATUS: deployed
NOTES:
1. Get the WordPress URL:
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
Watch the status with: 'kubectl get svc --namespace default -w wordpress-helm-testing'
export SERVICE_IP=$(kubectl get svc --namespace default wordpress-helm-testing --template "{{ range (index .status.loadBalancer.ingress 0) }}{{.}}{{ end }}")
echo "WordPress URL: http://$SERVICE_IP/"
echo "WordPress Admin URL: http://$SERVICE_IP/admin"
2. Login with the following credentials to see your blog
echo Username: user
echo Password: $(kubectl get secret --namespace default wordpress-helm-testing -o jsonpath="{.data.wordpress-password}" | base64 --decode)
#helm list
NAME NAMESPACE REVISION UPDATED STATUS CHART
wordpress-helm-testing default 1 2019-10-07 15:56:21.205156 -0700 PDT deployed wordpress-7.3.9
これは、リリース名のランダム性を排除するため、より優れた運用アプローチです。 GUID --generate-nameオプションが提供するもの以外に、ユーザー名またはそれを一意にし、リリースに意味を加えるものなどを使用したい場合があります。
Helm v3では、次のいずれかを使用できます。
helm install [NAME] [CHART]
または:
helm install [CHART] --generate-name
例:
helm install reloader stakater/reloader
helm install stakater/reloader --generate-name
ヘルプマニュアルから:
helm install --help
Usage:
helm install [NAME] [CHART] [flags]
Flags:
-g, --generate-name generate the name (and omit the NAME parameter)
チャートが現在のディレクトリにあると仮定します。
helm install some-name。
出力:
NAME: some-name
LAST DEPLOYED: Sun Jan 5 21:03:25 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None