在Kubernetes(k8s)中部署jenkinsYAML配置文件由于jenkins需要持久化存储,PVC存储卷是通过nfs动态配置的。可以参考我之前的文档:https://cloud.tencent.com/dev...vimjenkins-deploy.yamlcatjenkins-deploy.yaml################使用storageClasstocreatepvc####################---apiVersion:v1kind:PersistentVolumeClaimmetadata:name:jenkins-data-pvcnamespace:defaultspec:accessModes:-ReadWriteMany资源:requests:storage:1Gi###############创建一个ServiceAccount命名为:jenkins-admin######################---apiVersion:v1kind:ServiceAccountmetadata:name:jenkins-adminnamespace:defaultlabels:name:jenkins###############绑定账号jenkins-admin是集群管理员角色,依次控制权限,建议从Definerole####################---kind:ClusterRoleBindingapiVersion:rbac.authorization.k8s.io/v1metadata:name绑定:jenkins-adminlabels:name:jenkinssubjects:-kind:ServiceAccountname:jenkins-adminnamespace:defaultroleRef:kind:ClusterRole#cluster-admin是k8s中默认的管理员角色clustername:cluster-adminapiGroup:rbac.authorization.k8s.io################在默认命名空间中创建部署######################---apiVersion:apps/v1kind:Deploymentmetadata:name:jenkinsnamespace:defaultspec:replicas:1selector:matchLabels:app:jenkinstemplate:metadata:labels:app:jenkinsspec:terminationGracePeriodSeconds:10#Note:serviceAccountink8s1.21。x#renamedtoserviceAccount这里填写上面创建的serviceAccount的名字serviceAccount:jenkins-admincontainers:-name:jenkinsimage:jenkins/jenkins:latestimagePullPolicy:IfNotPresentenv:-name:JAVA_OPTSvalue:-Duser.timezone=Asia/Shanghaiports:-containerPort:8080name:webprotocol:TCP-containerPort:50000name:agentprotocol:TCPresources:limits:cpu:1000mmemory:1Girequests:cpu:500m内存:512MilivenessProbe:httpGet:路径:/登录端口:8080initialDelaySeconds:60timeoutSeconds:5failureThreshold:12readinessProbe:httpGet:路径:/登录端口:8080initialDelaySeconds:60timeoutSeconds:5failureThreshold:12volumeMounts:-name:jenkinshomemountPath:/var/jenkins_homevolumes:-name:jenkinshomepersistentVolumeClaim:claimName:jenkins-data-pvc###############默认命名空间创建服务###################---apiVersion:v1kind:Servicemetadata:name:jenkinsnamespace:defaultlabels:app:jenkinsspec:selector:app:jenkinstype:ClusterIPports:-name:web端口:8080目标端口:8080---apiVersion:v1kind:服务元数据:名称:jenkins-agent命名空间:默认标签:app:jenkinsspec:选择器:app:jenkins类型:ClusterIP端口:-名称:代理端口:50000targetPort:50000执行部署kubectl服务-fjenkins-deploy.yamlpersistentvolumeclaim/jenkins-data-created-pvc/jenkins-admincreatedclusterrolebinding.rbac.authorization.k8s.io/jenkins-admincreateddeployment.apps/jenkinscreatedservice/jenkinscreatedservice/jenkins-agent创建访问测试#查看svckubectlgetsvc|grepjenkinsNAMETYPECLUSTER-IPPOTERNAL-IPS)AGEjenkinsClusterIP10.99.124.103
