Dav*_*eña 4 amazon-web-services continuous-deployment kubernetes azure-devops
我正在使用 Azure DevOps 来处理 PBI、repos、PRS 和构建,但我的所有基础设施(包括 Kubernetes)都由 AWS 管理。
没有文档,也没有关于如何使用 Azure DevOps 任务部署到 AWS EKS 的“正确且简单的方法”。
我找到了这个解决方案,它是一个很好的解决方案,但是知道你们如何解决它,或者是否有更多方法会很棒。
Dav*_*eña 15
经过研究和尝试并失败后,我找到了另一种方法来做到这一点,而无需处理 shell 脚本。
您只需要将以下内容应用到 Kubernetes,它将创建一个 ServiceAccount 并将其绑定到一个自定义角色,该角色将拥有创建/删除部署和 pod 的权限(调整它以获得服务权限)。
deploy-robot-conf.yaml
apiVersion: v1
kind: ServiceAccount
metadata:
name: deploy-robot
automountServiceAccountToken: false
---
apiVersion: v1
kind: Secret
metadata:
name: deploy-robot-secret
annotations:
kubernetes.io/service-account.name: deploy-robot
type: kubernetes.io/service-account-token
---
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: deploy-robot-role
namespace: default
rules: # ## Customize these to meet your requirements ##
- apiGroups: ["apps"]
resources: ["deployments"]
verbs: ["create", "delete"]
- apiGroups: [""]
resources: ["pods"]
verbs: ["create", "delete"]
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: global-rolebinding
namespace: default
subjects:
- kind: ServiceAccount
name: deploy-robot
namespace: default
roleRef:
kind: Role
name: deploy-robot-role
apiGroup: rbac.authorization.k8s.io
Run Code Online (Sandbox Code Playgroud)
这将具有 Azure DevOps 能够部署到群集所需的最低权限。
笔记:请调整角色资源的规则以满足您的需要,例如服务资源权限。
然后转到您的版本并创建一个 Kubernetes 服务连接:
填写方框,然后按照从服务帐户获取机密所需的步骤进行操作,如果您没有更改 yaml 文件,请记住这是deploy-robot。
然后只需使用您的 Kubernetes 连接:
| 归档时间: |
|
| 查看次数: |
3613 次 |
| 最近记录: |