我正在尝试使用此图表将 elasticsearch 和 kibana 部署到 kubernetes ,并在 kibana 容器内收到此错误,因此 ingress 返回 503 错误,并且容器从未准备好。
错误:
[2022-11-08T12:30:53.321+00:00][ERROR][elasticsearch-service] Unable to retrieve version information from Elasticsearch nodes. socket hang up - Local: 10.112.130.148:42748, Remote: 10.96.237.95:9200
Run Code Online (Sandbox Code Playgroud)
ip地址10.96.237.95是有效的elasticsearch服务地址,端口是正确的。
当我从 kibana 容器内部对 elasticsearch 进行curl 操作时,它成功返回响应。
我的配置中是否缺少某些内容?
图表版本:7.17.3
elasticsearch 图表的值:
clusterName: "elasticsearch"
nodeGroup: "master"
createCert: false
roles:
master: "true"
data: "true"
ingest: "true"
ml: "true"
transform: "true"
remote_cluster_client: "true"
protocol: https
replicas: 2
sysctlVmMaxMapCount: 262144
readinessProbe:
failureThreshold: 3
initialDelaySeconds: 90
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 10 …Run Code Online (Sandbox Code Playgroud) 我见过这个问题和另一个类似的问题,但无法让它工作使用 Terraform 的 helm_release,如何设置数组或列表值?
\n我的列表来自 json 文件,它是允许的组列表
\nlocals {\n app_groups = jsondecode(file("../../work/resources/gke/params/access_auths.json")).accessgroups[var.project][0].app_group\n}\noutput "app_groups" {\n value = local.app_groups\n}\nRun Code Online (Sandbox Code Playgroud)\n给出 -
\napp_groups = [\n "bigquery-team",\n "devops-team",\n]\nRun Code Online (Sandbox Code Playgroud)\n主.tf-
\nresource "helm_release" "oauth2proxy" {\n name = "oauth2proxy"\n chart = "../charts/oauth2proxy"\n namespace = kubernetes_namespace.oauth2proxy.metadata.0.name\n set {\n name = "app_groups[0]"\n value = "${local.app_groups}"\n }\n values = [\n templatefile("../charts/oauth2proxy/oauth2proxy_values.yaml", {\n projectID = var.project\n clusterName = var.clusterName\n })\n ]\n}\nRun Code Online (Sandbox Code Playgroud)\n在 helm deployment.yml 中,启动容器时需要进入 -args -
\n {{ range $v := .app_groups …Run Code Online (Sandbox Code Playgroud) 强文本直到证书经理每个吊舱都工作良好,如 aerospike 文档所示。但在安装操作员时,操作员吊舱会发生崩溃循环退避。
安装操作员使用:
git clone https://github.com/aerospike/aerospike-kubernetes-operator.git
git checkout 2.5.0
cd aerospike-kubernetes-operator/helm-charts
helm install aerospike-kubernetes-operator ./aerospike-kubernetes-operator --set replicas=3
Run Code Online (Sandbox Code Playgroud)
Pod 运行:
PS C:\Users\B.Jimmy\aerospike-kubernetes-operator-1.0.0> kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
cert-manager cert-manager-576c79cb45-xkr88 1/1 Running 0 4h41m
cert-manager cert-manager-cainjector-664f76bc59-4b5kz 1/1 Running 0 4h41m
cert-manager cert-manager-webhook-5d4fd5cb7f-f96qx 1/1 Running 0 4h41m
default aerospike-kubernetes-operator-7bbb8745c8-86884 1/2 CrashLoopBackOff 36 (59s ago) 159m
default aerospike-kubernetes-operator-7bbb8745c8-jzkww 1/2 Error 36 (5m14s ago) 159m
kube-system aws-node-7b4nb 1/1 Running 0 21h
kube-system aws-node-llnzh 1/1 Running 0 21h
kube-system …Run Code Online (Sandbox Code Playgroud) aerospike kubernetes kubernetes-helm cert-manager amazon-eks
我要将图像修补到初始化容器上
我的图片存储在名为$ IMAGE_NAME的变量中
当我跑步
kubectl修补程序部署production-art-backend -p {“ spec”:{“ template”:{“ spec”:{“ initContainers”:[{“ name”:“ run-migrations”,“ image”:“ $ IMAGE_NAME” }]}}}}
会将图片修补为“ IMAGE_NAME”,而不是变量IMAGE_NAME中的值,如何动态修补映像?
我怎样才能对诸如/ com / app1 / main之类的字符串进行子字符串化以获取HELM模板中main的值?
我试图用来Helm charts在Kubernetes集群中安装应用程序。有人可以提出什么更好的秘密管理解决方案吗?使用helm secrets将是一个好主意还是Hashicorp Vault?
我的命令helm list失败并显示以下消息:
Error: configmaps is forbidden: User "system:serviceaccount:kube-system:default" cannot list configmaps in the namespace "kube-system"
Run Code Online (Sandbox Code Playgroud)
我发现了一些结果,这些结果告诉我如何设置RBAC角色和角色绑定,例如:
舵列表:无法在名称空间“ kube-system”中列出配置映射
和
https://docs.bitnami.com/kubernetes/how-to/configure-rbac-in-your-kubernetes-cluster/
但是这些也会因为这个错误而使我失败:
Error from server (Forbidden): error when creating "tiller-clusterrolebinding.yaml": clusterrolebindings.rbac.authorization.k8s.io is forbidden: User "$USER" cannot create clusterrolebindings.rbac.authorization.k8s.io at the cluster scope: Required "container.clusterRoleBindings.create" permission.
Run Code Online (Sandbox Code Playgroud)
现在经过一番搜索,我找到了这个答案:
无法在新的GKE群集上创建clusterrolebinding
出现此错误:
ERROR: (gcloud.projects.add-iam-policy-binding) User [$USER] does not have permission to access project [$PROJECT:setIamPolicy] (or it may not exist): The caller does not have permission
Run Code Online (Sandbox Code Playgroud)
最后一个错误似乎给了我一个很好的提示,我似乎不是该项目的管理员/所有者,所以我问项目的所有者是否可以给我这些权限。他不是技术人员,因此必须通过GUI进行操作。
我有一个带有1个主节点和2个工作节点的kubernetes集群。我有一台安装头盔的机器。实际上,我正在尝试使用舵图创建kubernetes资源,并尝试将其部署到远程kubernetes集群中。
当我阅读有关helm install命令的信息时,我发现我们需要使用helm和kubectl命令进行部署。
混乱
我在这里的困惑是,当我们使用helm install时,创建的图表将部署在kubernetes上,我们也可以将其推送到图表仓库中。因此,对于部署,我们使用头盔。但是为什么我们在头盔上使用kubectl命令呢?
任何人都可以消除我的困惑吗?
目前,我正在基于微服务架构的项目中工作。为了制作这个项目,我有20个Spring Boot微服务项目。对于每个根文件夹,我都会放置Dockerfile进行映像构建。我正在使用Kubernetes集群通过Helm图表进行部署。
我的困惑是,当我创建Helm图表时,它在模板目录中提供了service.yaml和deployment.yaml。
如果要部署这20个微服务,是否需要创建20个单独的头盔图表?还是可以在1个图表中为每20个创建服务?
我是Kubernetes和Helm图表的新手。因此,我对将Yaml文件与图表一起使用的标准方法感到困惑。我需要创建20个单独的图表还是可以包含在1个图表中?
请问如何为微服务项目遵循标准的图表创建方法?
kubernetes-helm ×10
kubernetes ×8
aerospike ×1
amazon-eks ×1
cert-manager ×1
devops ×1
kibana ×1
kubectl ×1
networking ×1
patch ×1
rbac ×1
terraform ×1
vault ×1