我正在尝试使用位于https://github.com/kubernetes/charts/tree/master/stable/prometheus的默认 prometheus helm chart 将 Prometheus 安装到我的 EKS 集群。它部署成功,但在 Kubernetes Dashboard 中,AlertManager 和 Server 部署显示:
pod 具有未绑定的 PersistentVolumeClaims(重复 3 次)
我试过修改values.yaml文件无济于事。
我知道这没什么可做的,但我不确定在日志记录方面我还能查到什么。
这是运行的输出 helm install stable/prometheus --name prometheus --namespace prometheus
root@fd9c3cc3f356:~/charts# helm install stable/prometheus --name prometheus --namespace prometheus
NAME: prometheus
LAST DEPLOYED: Wed Jun 20 14:55:41 2018
NAMESPACE: prometheus
STATUS: DEPLOYED
RESOURCES:
==> v1beta1/ClusterRole
NAME AGE
prometheus-kube-state-metrics 1s
prometheus-server 1s
==> v1/ServiceAccount
NAME SECRETS AGE
prometheus-alertmanager 1 1s
prometheus-kube-state-metrics 1 1s
prometheus-node-exporter 1 1s
prometheus-pushgateway 1 …Run Code Online (Sandbox Code Playgroud) 使用操作符(如https://github.com/kbst/mongodb)在 k8s 中管理 mongodb 而不是使用 Helm 图表(如https://github.com/helm/charts/tree/master)的利弊是什么/stable/mongodb-replicaset)?
我是 helm 的新手,我想知道如何将变量从父包传递给子包。我有一个多微服务应用程序,它由不同的 helm 包组成,如下所示:
$ tree parent/
parent/
??? charts/
? ??? child-A-0.0.1.tgz
? ??? child-B-0.0.1.tgz
? ??? child-C-0.0.1.tgz
??? Chart.yaml
??? templates/
? ??? NOTES.txt
? ??? secret.yaml
??? values.yaml
Run Code Online (Sandbox Code Playgroud)
例如,我想public-IP在父级中进行设置,values.yaml并且当我安装public-IP通过并设置在子级中的父级时。
我正在部署一个 Kubernetes 有状态集,我想在舵图中获取 pod 索引,以便我可以使用此 pod 索引配置每个 pod。
例如,在以下模板中,我使用变量{{ .Values.podIndex }}来检索 pod 索引,以便使用它来配置我的应用程序。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: {{ .Values.name }}
spec:
replicas: {{ .Values.replicaCount }}
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 50%
template:
metadata:
labels:
app: {{ .Values.name }}
spec:
containers:
- image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
imagePullPolicy: Always
name: {{ .Values.name }}
command: ["launch"],
args: ["-l","{{ .Values.podIndex }}"]
ports:
- containerPort: 4000
imagePullSecrets:
- name: gitlab-registry
Run Code Online (Sandbox Code Playgroud) 我正在尝试通过 helm 安装 postgresql。我没有覆盖任何设置,但是当我尝试连接时,出现“密码验证失败”错误:
$ helm install goatsnap-postgres stable/postgresql
NAME: goatsnap-postgres
LAST DEPLOYED: Mon Jan 27 12:44:22 2020
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
** Please be patient while the chart is being deployed **
PostgreSQL can be accessed via port 5432 on the following DNS name from within your cluster:
goatsnap-postgres-postgresql.default.svc.cluster.local - Read/Write connection
To get the password for "postgres" run:
export POSTGRES_PASSWORD=$(kubectl get secret --namespace default goatsnap-postgres-postgresql -o jsonpath="{.data.postgresql-password}" | base64 --decode)
To connect …Run Code Online (Sandbox Code Playgroud) 我想将证书传递给舵图,目前我正在使用 --set-file global.dbValues.dbcacertificate=./server.crt 传递,但我想在舵图的值文件中传递文件。Values.yaml 文件读取
global:
dbValues:
dbcacertificate: <Some Way to pass the .crt file>
Run Code Online (Sandbox Code Playgroud) 在 Helm 3 之前,可以通过以下方式在 helm 初始化中关联服务帐户
helm init --service-account tiller
Run Code Online (Sandbox Code Playgroud)
但是既然helm init现在已被弃用,我们如何找出 Helm 与哪个服务帐户相关联?
请看下面的命令:
helm install --name mymssql stable/mssql-linux --set acceptEula.value=Y --set edition.value=Developer
Run Code Online (Sandbox Code Playgroud)
我从这里得到的:https : //github.com/helm/charts/tree/master/stable/mssql-linux
仅仅一个月后,似乎不再需要 --name ,所以我现在有了(请参阅此处:Helm install unknown flag --name):
helm install mymssql stable/mssql-linux --set acceptEula.value=Y --set edition.value=Developer
Run Code Online (Sandbox Code Playgroud)
我现在看到的错误是:
Error: failed to download "stable/mssql-linux" (hint: running `helm repo update` may help)
Run Code Online (Sandbox Code Playgroud)
问题是什么?
更新
从答案开始;上面的命令现在可以工作,但是我无法从本地 PC 使用 SQL Studio Manager 连接到数据库。我遵循的其他步骤是:
1) kubectl expose deploymentmymssql-mssql-linux --type=NodePort --name=mymssql-mssql-linux-service
2) kubectl get service- 下面的服务是相关的 mymssql-mssql-linux-service NodePort 10.107.98.68 1433:32489/TCP 7s
3)然后尝试使用SQL Studio Manager 2019连接数据库:Server Name: localhost,32489 Authentication: SQL Server …
我按照这个文档安装 MySQL HA :
./helm install report incubator/mysqlha -n middleware
Run Code Online (Sandbox Code Playgroud)
但结果是这样的:
[dolphin@MeowK8SMaster1 linux-amd64]$ ./helm repo update
Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "traefik" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. ? Happy Helming!?
[dolphin@MeowK8SMaster1 linux-amd64]$ ./helm install report incubator/mysqlha -n middleware
Error: failed to download "incubator/mysqlha" (hint: running `helm repo update` may help)
[dolphin@MeowK8SMaster1 linux-amd64]$
Run Code Online (Sandbox Code Playgroud)
我应该怎么做安装 mysql HA?
我正在通过使用这些命令安装最新版本的脚本安装 helm -
curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/master/scripts/get-helm-3.2.0
chmod 700 get_helm.sh
./get_helm.sh
Run Code Online (Sandbox Code Playgroud)
但是,我不希望它总是安装最新版本。如何始终安装 v3.2.4 版本?
kubernetes ×10
kubernetes-helm ×10
amazon-eks ×1
command ×1
mysql ×1
postgresql ×1
prometheus ×1
shell ×1
version ×1
yaml ×1