设置与配置

    您的查询搜索没有结果。

    在 Kubernetes 上使用 GoCD 入门

    第1步:设置你的Kubernetes集群

    在开始使用GoCD on Kubernetes之前,请确保你已经查看了以下列表。

    1. 安装kubectl

    Kubernetes命令行工具kubectl用于集群管理目的。Kubernetes安装文档提供了为不同平台安装kubectl的各种方法。

    2. 设置Kubernetes集群

    在安装GoCD之前,你需要设置一个Kubernetes集群。一些流行的选项是:

    选项1:Minikube (设置指南)

    安装minikube后,使用kubeadm启动器启动minikube。该kubeadm工具包有助于轻松引导集群,以便授予适当的权限来对Kubernetes认证和授权(RBAC)资源进行读写操作。

    minikube start --vm-driver=virtualbox --bootstrapper=kubeadm --memory 4096
    

    提示:你可以使用此命令在minikube上启用Ingress

    minikube addons enable ingress
    

    选项2:Google Kubernetes Engine或GKE (设置指南)

    提示:一旦集群运行,执行以下命令以查看kubectl是否正在使用正确的上下文。

    kubectl config current-context
    

    选项3:Amazon Elastic Kubernetes服务(EKS) (入门指南)

    提示:eksctl是一个有用的CLI,用于在Amazon EKS上设置Kubernetes集群

    3. 安装并配置Helm - Kubernetes包管理器

    Helm是Kubernetes的包管理器。Kubernetes包称为charts。Charts是为Kubernetes策划的应用程序。

    安装Helm客户端

    Helm客户端是一个CLI,可以让你在Kubernetes上安装和更新打包应用。Helm的安装文档详细介绍了安装Helm客户端的各种方法。

    安装后,验证Helm版本

    $ helm version
    version.BuildInfo{Version:"v3.0.3", GitCommit:"ac925eb7279f4a6955df663a0128044a8a6b7593", GitTreeState:"clean", GoVersion:"go1.13.7"}
    

    对于Helm客户端v2及以下版本:

    使用RBAC安装Helm服务器(Tiller)

    使用Helm时,一个好的实践是为特定的Tiller服务账户授予权限,以控制应用程序部署的范围。你可以参考Kubernetes RBAC文档了解更多关于Kubernetes服务账户和RBAC的信息。

    要为具有相当宽松的cluster-admin角色的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
    

    注意:该cluster-admin角色默认存在于Kubernetes集群中,你无需创建它。

    kubectl create -f rbac-config.yaml
    

    现在我们已经创建并分配了Helm服务账户的角色,让我们使用该服务账户部署Tiller。

    helm init --service-account tiller
    

    对于Helm客户端v3:

    作为Helm v3的一部分,Tiller已经被移除以简化使用Helm的体验。不再需要拥有集群管理员权限或将Tiller安装到每个命名空间中。随着Tiller的移除,Helm v3现在使用本地kubeconfig文件中定义的设置和访问权限。

    想要了解更多关于Tiller移除的信息,请访问Helm v3 更改日志.

    Helm的权限现在通过你的kubeconfig文件进行评估。请参考使用kubeconfig文件组织集群访问Helm RBAC指南为您的集群配置更安全、更高级的RBAC。