gpt4 book ai didi

kubernetes - jx step helm 是否应该应用创建/生成 helm 版本

转载 作者:行者123 更新时间:2023-12-05 00:10:47 25 4
gpt4 key购买 nike

我正在为 jx​​、kubernetes 和 helm 苦苦挣扎。我在 env 目录中执行命令的 jx 上运行 Jenkinsfile:

sh 'jx step helm build'
sh 'jx step helm apply'

它成功完成并部署 pods/创建部署等。但是,helm 列表是空的。

当我执行类似 helm install ... 的操作时或 helm upgrade --install ...它创建了一个版本,并且 helm 列表显示了这一点。

这是正确的行为吗?

更多详情:

EKS 安装有:
eksctl create cluster --region eu-west-2 --name integration --version 1.12 \
--nodegroup-name integration-nodes \
--node-type t3.large \
--nodes 3 \
--nodes-min 1 \
--nodes-max 10 \
--node-ami auto \
--full-ecr-access \
--vpc-cidr "172.20.0.0/16"

然后我用一些 kubectly apply 设置了入口(外部和内部)命令(不会共享文件)。然后我设置路由和 vpc 相关的东西。

JX 安装:
jx install --provider=eks --ingress-namespace='internal-ingress-nginx' \
--ingress-class='internal-nginx' \
--ingress-deployment='nginx-internal-ingress-controller' \
--ingress-service='internal-ingress-nginx' --on-premise \
--external-ip='#########' \
--git-api-token=######### \
--git-username=######### --no-default-environments=true

安装细节:
? Select Jenkins installation type: Static Jenkins Server and Jenkinsfiles
? Would you like wait and resolve this address to an IP address and use it for the domain? No
? Domain ###########
? Cloud Provider eks
? Would you like to register a wildcard DNS ALIAS to point at this ELB address? Yes
? Your custom DNS name: ###########
? Would you like to enable Long Term Storage? A bucket for provider eks will be created No
? local Git user for GitHub server: ###########
? Do you wish to use GitHub as the pipelines Git server: Yes
? A local Jenkins X versions repository already exists, pull the latest? Yes
? A local Jenkins X cloud environments repository already exists, recreate with latest? Yes
? Pick default workload build pack: Kubernetes Workloads: Automated CI+CD with GitOps Promotion

然后我设置了 Helm :
kubectl apply -f tiller-rbac-config.yaml
helm init --service-account tiller

其中tiller-rbac-config.yaml 是:
apiVersion: v1
kind: ServiceAccount
metadata:
name: tiller
namespace: kube-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: tiller
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: cluster-admin
subjects:
- kind: ServiceAccount
name: tiller
namespace: kube-system

Helm 版本说:
Client: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.13.1", GitCommit:"618447cbf203d147601b4b9bd7f8c37a5d39fbb4", GitTreeState:"clean"}

jx 版本 说:
NAME               VERSION
jx 2.0.258
jenkins x platform 2.0.330
Kubernetes cluster v1.12.6-eks-d69f1b
helm client Client: v2.13.1+g618447c
git git version 2.17.1
Operating System Ubuntu 18.04.2 LTS

应用程序是这样导入的:
jx import --branches="devel" --org ##### --disable-updatebot=true --git-api-token=##### --url git@github.com:#####.git

环境是这样创建的:
jx create env --git-url=##### --name=integration --label=Integration --domain=##### --namespace=jx-integration --promotion=Auto --git-username=##### --git-private --branches="master|devel|test"

最佳答案

通过更改日志,似乎自版本 2.0.246 以来,无 Helm 机模式已成为默认模式。 .

在 Helm v2 中,Helm 依赖于其名为 Tiller 的服务器端组件。 Jenkins X 无分蘖模式意味着 Helm 客户端仅用于模板化和生成 Kubernetes list ,而不是使用 Helm 安装图表。但是,这些 list 通常使用 kubectl 应用,而不是 helm/tiller。

结果是 Helm 不会知道这些安装/发布,因为它们是由 kubectl 制作的。所以这就是为什么你不会使用 Helm 获得发布列表的原因。这是预期的行为,如 you can read on the Jenkins X docs .

What --no-tiller means is to switch helm to use template mode which means we no longer internally use helm install mychart to install a chart, we actually use helm template mychart instead which generates the YAML using the same helm charts and the standard helm confiugration management via --set and values.yaml files.

Then we use kubectl apply to apply the YAML.



正如 James Strachan 在评论中提到的,使用无 Helm 机模式时, you can view your deployments using jx step helm list

关于kubernetes - jx step helm 是否应该应用创建/生成 helm 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56529105/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com