K8S 部署
表单介绍
-
Kubectl 版本:Kubectl 版本为当前步骤中使用的 kubectl 客户端版本。请选择与集群适配的 Kubectl 版本,默认版本 v1.16.4。
-
集群证书:使用集群证书,连接到 Kubernetes 服务集群。
-
命名空间:Kubernetes 下的命名空间,默认 default。
-
YAML 路径:YAML 路径为需要部署的 YAML 文件在源码中的相对路径。例如:"./manifests.yaml"。
-
使用 Replace 模式:适用于首次部署应用时使用了 kubectl install 时,kubectl apply 可能无法正确的计算 diff 并更新应用的场景。注意 replace 模式只支持证书导入的 Kubernetes 集群。
-
跳过 TLS 校验:跳过 TLS 校验,当自定义证书中声明了 insecure-skip-tls-verify 为 true 时需要勾选该配置,以确保 kubectl 跳过校验。
-
变量:变量为需要动态替换的占位符,变量值支持
{变量 Key}
获取流水线全局变量,在 YAML 中您可以使用占位符如${GITEE_DOCKER_IMAGE}
,并在发布时自动替换。
使用技巧
在 yaml 文件里可以使用$来作为占位符用于替换实际使用过程中所需要动态替换的变量。
例如:spec.template.spec.containers.image
的镜像可以使用变量 GITEE_DOCKER_IMAGE
获取
apiVersion: apps/v1
kind: Deployment
metadata:
name: my-nginx
spec:
replicas: 1
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: ${GITEE_DOCKER_IMAGE}
ports:
- containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
name: ngx-service
labels:
app: nginx
spec:
type: NodePort
selector:
app: nginx
ports:
- port: 80
targetPort: 80
nodePort: 32500