kubernetes - 将 Gitlab 与 Kubernetes 连接起来
问题描述
嗨,我使用 Gitlab 我想将我制作的应用程序容器化并自动部署,所以我正在尝试在 GKE 上使用 Kubernetes。
我正在关注Gitlab 关于链接集群的文档
我试图通过 K8S Dashboard 创建秘密(创建,粘贴 yaml)
apiVersion: v1
kind: Secret
metadata:
name: gitlab
annotations:
kubernetes.io/service-account.name: gitlab
type: kubernetes.io/service-account-token
按下Upload
它,它就吞下了它,没有错误没有新的秘密。
然后我尝试通过 kubectl添加它:
kubectl create -f /tmp/gitlab.yaml
它打印secret "gitlab" created
但它没有
我究竟做错了什么?
解决方案
kind: Secret
type: kubernetes.io/service-account-token
我看到这里发生了什么:您正在尝试手动创建一个ServiceAccount
令牌,而这些令牌被设计为由 kubernetes 管理,而不是您,因为该令牌包含一个格式正确且经过加密签名的 JWT。
除此之外,创建一个不包含秘密数据的服务帐户令牌是愚蠢的Secret
(总是包含 3 位数据:ca.crt
、namespace
和token
)。然后,即使您确实Secret
使用实际的 JWT 填充了它——这会很奇怪——您还需要包含kubernetes.io/service-account.uid:
包含 UUID 的注释gitlab``ServiceAccount
(您可以通过 找到kubectl get -o json sa gitlab | jq -r .metadata.uid
)
理性的人可能会对这是一个错误还是一个不会伤害任何东西的疯狂边缘情况有所不同。我认为这相当于INSERT INTO users;
报告OK
;当然,它没有插入任何东西,但是这个命令无论如何都是胡说八道,所以很难真正对事情感到兴奋。
推荐阅读
- excel - 根据行中的值改变 Excel 文本字段
- r - 根据R中的两个参数计算元素数量
- postgresql - 尝试在用户纬度,经度和地点纬度,经度的帮助下查询postgres中最近的地方
- python - 无法让变量正常工作
- springdoc - Swagger 2 Springfox useDefaultResponseMessages() 方法的 Springdoc 等效项是什么?
- java - JDBC Informix 事务回滚
- kubernetes - 使用 envTest 进行 kubernetes Operator-sdk 测试
- arrays - Arry,如何设置带有 4 个组件的pickerView?迅速
- python - 带有 ffill 的 Pandas fillna 增加了噪音
- c++ - 神秘的 C++ 线程崩溃