Jenkins Config File Provider 插件 创建kubeconfig文件

 

Config File Provider:存储kubectl用于连接k8s集群的kubeconfig配置文件,也就是下面这个文件

[root@master ~]# ls .kube/
cache  config  http-cache

所以要将这个文件保存到Jenkins的插件当中,在生成的slave pod当中,指定kubeconfig这个文件

 

 

Jenkins在Kubernetes中持续部署


自动部署应用(yaml):将kubectl工具封装到Slave镜像中,并通过Config File Provider插件存储连接K8s集群的kubeconfig认证文件,然后挂载到Slave容器中,这样就能用kubectl apply deploy.yaml --kubeconfig=config

注:为提高安全性,kubeconfig文件应分配权限
除了上述方式,还可以使用Kubernetes Continuous Deploy插件,将资源配置(YAML)部署到Kubernetes,这种不是很灵活性。

将kubeconfig存储在Jenkins,用于slave镜像里kubectl连接k8s集群

管理Jenkins-> Managed files->Add->Custom file ->Content字段内容是kubeconfig(默认路径在
master节点/root/.kube/config),然后复制ID替换上述脚本中k8s_auth变量的值。 

 将里面的内容粘贴进去

[root@master ~]# cat .kube/config 
apiVersion: v1
clusters:
- cluster:
    certificate-authority-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM1ekNDQWMrZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFWTVJNd0VRWURWUVFERXdwcmRXSmwKY201bGRHVnpNQjRYRFRJeE1Ea3lOREV5TkRZek0xb1hEVE14TURreU1qRXlORFl6TTFvd0ZURVRNQkVHQTFVRQpBeE1LYTNWaVpYSnVaWFJsY3pDQ0FTSXdEUVlKS29aSWh2Y05BUUVCQlFBRGdnRVBBRENDQVFvQ2dnRUJBT2pVCnVERGlDcXBodjFrN1pGSVJHS0ovREh4cWUrWWZ4TU1waDY5ejVjK3doTUxrRDdueGxQbHpjK0JjQWxMa0FFRVoKdjliQzFZWENwUU5Mdjc1L25yMitPMGdJSkoyMnhnSnI1Vm5YUS85aFk5Ykh0bklieEJpWjdSdWVqZDlkeXhDWApyaTUreTZxaE5hVmI1cXNDVVAyQTB0aWVud1gwLzNRdTAwekJEWFJ5cGpMYmxOM09sTjhiS3NCSWJIZXpmRGJ0Cm96d21tdDkvUHZxMGRCeWJybm5OL3ZhcjI0ZHM2WVlvR3BWckVsMWlaRjd4TjVwcG9zMy9hRXMrMk9HNHJEQ2wKTHhqbjNIRWZEODVsMG82SjVlMU9INlIrZGlZOWZZWWN5RnJLNG5VSzlDR3d2TytkMDVZVHdaSzhvbzF0NWZacQpkb2hnS3dqRk1FWVF5YVAycHA4Q0F3RUFBYU5DTUVBd0RnWURWUjBQQVFIL0JBUURBZ0trTUE4R0ExVWRFd0VCCi93UUZNQU1CQWY4d0hRWURWUjBPQkJZRUZCY1pmY0xuWThhZTZNc0ZpN1hiMzVDamdJMnhNQTBHQ1NxR1NJYjMKRFFFQkN3VUFBNElCQVFDcFlDTFp6Vnk4L2J3bndjYmJPekNNMTlxaHdHZys0UzBNdnVFaFR3ZGdOM2N3YUdWZQp2QkwrSDRtaVR5NDhWbmp4SUNDQ3Z0U21oSkZuQzNHTU5KM0tqVjB1TlhyY285VWVkQlJNeDQxQWtLckNjcHFPCnBMN1B3SVp6S3RIaGoxRk9FM3A4TUNjWUtXMzVZczhsV2xWa2I1TEZSUUltTmNZMmwybVRranltSUw4bjFEbFEKeUVqejE1YjNFVU1rRXpldGIzZXRROGNLMmVNUmJQSHBqaGNGSTMyL2swbktEYnk5ZnY0ZkxmTHpkSWQxRDNSZwprSkR2RkxrNFlNMm1GOVZrWDJlYi8rMkdtOUt5eWZDbDdrd1BXUFlLaDhyUHN6ZStGN3BrcVhId0dzMVBwSU5SCnlNaC90YXB3V2tqemNxS0RwNDhoeTN2eHc1LzRvdkNiRFJIYQotLS0tLUVORCBDRVJUSUZJQ0FURS0tLS0tCg==
    server: https://lb.kubesphere.local:6443
  name: cluster.local
contexts:
- context:
    cluster: cluster.local
    user: kubernetes-admin
  name: kubernetes-admin@cluster.local
current-context: kubernetes-admin@cluster.local
kind: Config
preferences: {}
users:
- name: kubernetes-admin
  user:
    client-certificate-data: LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSURFekNDQWZ1Z0F3SUJBZ0lJQUovSDhvYzFxbmt3RFFZSktvWklodmNOQVFFTEJRQXdGVEVUTUJFR0ExVUUKQXhNS2EzVmlaWEp1WlhSbGN6QWVGdzB5TVRBNU1qUXhNalEyTXpOYUZ3MHlNakE1TWpReE1qUTJNelZhTURReApGekFWQmdOVkJBb1REbk41YzNSbGJUcHRZWE4wWlhKek1Sa3dGd1lEVlFRREV4QnJkV0psY201bGRHVnpMV0ZrCmJXbHVNSUlCSWpBTkJna3Foa2lHOXcwQkFRRUZBQU9DQVE4QU1JSUJDZ0tDQVFFQXNkMVBKRTBlNHFEb2krZFcKTDhRZXpxaURacGFTQzZ2Y0dkMVhHa2IxUVVOY0Zscm9PY241RGVLZXpSSnc0R0dFVVVQVXZaY0JkZlAzVWpXVwpsTEJ6TWZocFRjaFlNVVRXQis2alhhOURqYitscW52VFRRM3UvRWhLMHZhcEJRNnZXdkFqR3A0UjZhWUZ4Rmh2Ckprb1BMSEpiYms3dk1TY0w1U3RRRk5NTVovVUZHNm1tNXViREJxS2pwTWVxQXgvWDExaHMxMVFHaXZ5QitGN3kKbkhWMTVSeDJtekdwYmNvb1o2aGpzWnJyZUozb0ZwTlZDSnpESGJacUlHTmFUZXBxY0RjZjhZUGlsZ3VDemh3NApqRzRMaVd6M1dpSnlvYUh6b1k0L0dJSVdYbDUwdFo2MGNlaXRqbWlqaUovYVdHVHJtZjQwV1poSXBZeUM1S05VCmVPWXI1d0lEQVFBQm8wZ3dSakFPQmdOVkhROEJBZjhFQkFNQ0JhQXdFd1lEVlIwbEJBd3dDZ1lJS3dZQkJRVUgKQXdJd0h3WURWUjBqQkJnd0ZvQVVGeGw5d3VkanhwN295d1dMdGR2ZmtLT0FqYkV3RFFZSktvWklodmNOQVFFTApCUUFEZ2dFQkFOcFRLNUEvajQzMlU4bEpxL2dBRUh5bW9Tc3RnYjl5ZzdsdktEdEowdVBRelZ0Z3JmNWp5Smw1CmQ4bVM2azBUbDg0ZlpwdkJORDhTQkdMaktUVWdpVmhYNys1R2Qrb1o4U2lURml3eGQ0cHVoMEhURzE5ZkVLQ3QKMWhUTWJsemw2MVNxMnpSOTZ4eHhLMmtKWFBBamZRSDZtNzBjQXl0L3BGTEozNnYwN1ZjMXNEbWdDU0E5ZVBDago4N2Y2c0VhRWp5b3dXdnNkQmprY1NINFVONWw3YWFlTmxZblp2WkFwS3dWRW12RWNpRzdTUHdGd21iRFdYajZWCi9QcUFaT1h2WnJTcG5wNFJ3RS8va0pSNUhGREJhRFByazJhd0dlc0FnZVFZUjErMm5YbDFzaExOVXJidmNrNngKNXo3WmpCaGQvN3YvdHh0QUV3eTFPT0NHdzZVV2lZaz0KLS0tLS1FTkQgQ0VSVElGSUNBVEUtLS0tLQo=
    client-key-data: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBc2QxUEpFMGU0cURvaStkV0w4UWV6cWlEWnBhU0M2dmNHZDFYR2tiMVFVTmNGbHJvCk9jbjVEZUtlelJKdzRHR0VVVVBVdlpjQmRmUDNValdXbExCek1maHBUY2hZTVVUV0IrNmpYYTlEamIrbHFudlQKVFEzdS9FaEswdmFwQlE2dld2QWpHcDRSNmFZRnhGaHZKa29QTEhKYmJrN3ZNU2NMNVN0UUZOTU1aL1VGRzZtbQo1dWJEQnFLanBNZXFBeC9YMTFoczExUUdpdnlCK0Y3eW5IVjE1UngybXpHcGJjb29aNmhqc1pycmVKM29GcE5WCkNKekRIYlpxSUdOYVRlcHFjRGNmOFlQaWxndUN6aHc0akc0TGlXejNXaUp5b2FIem9ZNC9HSUlXWGw1MHRaNjAKY2VpdGptaWppSi9hV0dUcm1mNDBXWmhJcFl5QzVLTlVlT1lyNXdJREFRQUJBb0lCQUhueGhVVWFLc2F1RTBGNApCYnNSOXgwd280WStUVHI3UlJmbWpNVlRTT3JKeCtUN3hxTjRPZXl2SnJqcW44RDJtc1VzZ0RyTHdSQ2hoenN4CnlsOSs2anVrV0c0Zm9YZUYva2ZKOE85V0xqYU00b1FVQ1RhWEN2YWtpY2hCbkhmL0xYSm5tV215WGcyVzZmVkgKdkV6QUVjOGpTRlJFZ2ZGdEY5YXk3MkNYb2JYVFBhMmI3bE9ZcWZ6Y1JIS21KYXp5SW95d1l3OUlnckQ2d1VxbgpnYWNSKzlYSW11UW5IT0owZzY5ZFRhQ1I5ZFljRk1TSXhDbWhudzJWT2ZxMW94VWluc29Oc2pCWldhME9VTEpUCkRoSDlETVhDWm5BR0J1dTRNYXZycG83Mjk0QTNmODc4UXBKazBMWWdobTdvTi9Na2h6SUdlUHVtYmZtaVhrdkIKUnRwekE0RUNnWUVBNVA3VVJRczJHcWFEQnY1blVJMDdJZVFhb2VRRkR2SlAvREVHMGYveDdQNWp5REhBNUVhMgpEQU9ZcVV6L09TV0ZKa3I5NTVrSGNDRkNoVnNnZUJRcmdrU3ppMHVaREhtSkxoeVFjQWtobzl6QXFnWUhyVUJlCkNBTDJvYm1WUVNEVlUvcHlNdndDY1JqSlJTeWVoUm1HSVcrU2grZXNpeENYQ3ViN0lvdVFObEVDZ1lFQXh0YmgKd2ZHSFZKYzlXR3cvUWF4RmV0ekd5T3lLMDBLNWYvdGtYU1pUdEc1MHcyV3JNcUI1RHZJSmw0bFRRWnJaK2hzVwoyUTh4dWwyNEEvS1h2bERHMXBoVlhIV0phNTl3Q3hRRjQ4bGNJeHN2dXhnWWl5b1NyNksxcnZNa2ZyQkorZ1VEClZvMzk2NG5JM2JDNUtlRS9DcFFXbXEzeit6U2xlZXA0WTdtTDJMY0NnWUF3WWlOSmYwZnNNNWhscHVUL1lRZkkKYm1DdUtmWmpwUkQvVVFDRzZGUWVaZFdCVy9uTWdhQS9RNWRDMWpEcXl5R3A2SmhqRWJNL250ZG1RODNGY1VXTQpIYVh0M1lnMTJZd0JnU21IY25aNEg5RlpXekxPQ1ZhVXpNTjlnaStsOWlEOHdHTFdvT2FITE55QjBCNmlNclZqClpTYUpyb3FIUzNjT1o2VlNORGpCTVFLQmdFdjBCU1NhYUVGdHpDY2Nva1VwMHhpTmdQbDdNY1JsTm9xbXNyM0sKU0NzaURrUWRiL25VeHFsbzF6VWxaY0lucnFBVS9QTkpGSXZHQk9hdElqMjJpVjJycnQrMG5odVlPYXBocWFaTApZb0NlZitzTjEwSkJmZ1hOTjIxdXYwQU5neFNZR2FCVWVPd2lJN0piTVQvSUpOYWJuczdUSitHTFNMSjdXQ1Z2CjJQV2RBb0dCQUtVT2dxbkJFYzJpYnY5clUycm9nODVtc21OeXBaZUVWdE9zTkJQMUZMNHNLaHN1eUpsTkc4SFgKUml6K082eWJ4ZkpuVzcrOUN4NVplQ1hvOEJDYVhNQTdCK0JqUTNXdXNMTTlnb2UrV21HUmpaTTZhYXE1TTcyLwowdlRocjRVL1RiN2VVWkNiMFhRWHZLYUtobXhnZ3JKRW5oLzltMmNRaFRsYXE3dUFRc3plCi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==

configFileProvider([configFile(fileId: '22bdbd6d-14f4-49c1-a924-5c844073ea69', targetLocation: 'admin.kubeconfig')]) {
    // some block
}
        stage('Deploy') {
            steps {
                script{
                  configFileProvider([configFile(fileId: '22bdbd6d-14f4-49c1-a924-5c844073ea69', 
                  targetLocation: "admin.kubeconfig")]){
                      sh """
                      sed -i 's#IMAGE_NAME#${image_name}#' deployment.yaml
                      sed -i 's#REPLICAS#${ReplicaCount}#' deployment.yaml
                      kubectl apply -f deployment.yaml -n ${Namespace} --kubeconfig=admin.kubeconfig
                      """
                  }        
                }
            }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值