gpt4 book ai didi

kubernetes - 服务帐户x509:证书由未知授权机构签名

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

我的服务帐户有问题。我创建了一个服务帐户,然后使用此指南创建了.key和.crt:

https://docs.bitnami.com/kubernetes/how-to/configure-rbac-in-your-kubernetes-cluster/

我使用了cluster_ca.key存储桶中的cluster_ca.crtKOPS_STATE_STORE(因为我使用kops创建了集群)来创建用户ca.crtca.key。然后我从 secret 那里得到了 token 。

我这样设置上下文:

kubectl config set-cluster ${K8S_CLUSTER_NAME} --server="${K8S_URL}" --embed-certs=true --certificate-authority=./ca.crt
kubectl config set-credentials gitlab-telematics-${CI_COMMIT_REF_NAME} --token="${K8S_TOKEN}"
kubectl config set-context telematics-dev-context --cluster=${K8S_CLUSTER_NAME} --user=gitlab-telematics-${CI_COMMIT_REF_NAME}
kubectl config use-context telematics-dev-context

使用该服务帐户 token 进行部署时,出现以下错误:
error: unable to recognize "deployment.yml": Get https://<CLUSTER_ADDRESS>/api?timeout=32s: x509: certificate signed by unknown authority

服务帐户,角色和RoleBinding YAML:
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: gitlab-telematics-dev
namespace: telematics-dev

---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: telematics-dev-full-access
namespace: telematics-dev
rules:
- apiGroups: ["", "extensions", "apps"]
resources: ["deployments", "replicasets", "pods", "services"]
verbs: ["*"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: telematics-dev-view
namespace: telematics-dev
subjects:
- kind: ServiceAccount
name: gitlab-telematics-dev
namespace: telematics-dev
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: telematics-dev-full-access

生成的 kubeconfig对我来说看起来不错:
apiVersion: v1
clusters:
- cluster:
certificate-authority-data: <REDACTED>
server: https://<CLUSTER_ADDRESS>
name: <CLUSTER_NAME>
contexts:
- context:
cluster: <CLUSTER_NAME>
user: gitlab-telematics-dev
name: telematics-dev-context
current-context: telematics-dev-context
kind: Config
preferences: {}
users:
- name: gitlab-telematics-dev
user:
token: <REDACTED>

最佳答案

在这种情况下很难为您提供帮助。我在测试群集上复制了此内容,除了遵循Bitnami的分步教程并仔细检查名称之外,我没有其他建议。我能够成功创建用户gitlab-telematics-dev列表容器,然后仅使用 list 和链接的教程在telematics-dev命名空间中创建部署,因此问题不在配置或角色名称中。在我看来,这就像您必须错过过程中的某些事情。

我所建议的是首先以创建的用户身份尝试命令。因此,当您能够列出Pod并将其创建为gitlab-telematics-dev创建部署时,您的部署也应该可以使用。

关于kubernetes - 服务帐户x509:证书由未知授权机构签名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56144269/

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