|NO.Z.00381|——————————|CloudNative|——|KuberNetes&CI/CD.V19|-----------------------------------------------------------|Jenkins.v07|Jenkins配置k8s多叢集.v01|
阿新 • • 發佈:2022-04-01
[CloudNative:KuberNetes&CI/CD.V19] [Applications.KuberNetes] [|DevOps|CICD|Jenkins|Jenkins配置k8s多叢集|]
一、檢視k8s叢集的ca.pem值
### --- 檢視k8s叢集地址 ~~~ # 獲取k8s叢集地址 [root@k8s-master01 spring-cloud-demo]# kubectl cluster-info Kubernetes control plane is running at https://192.168.1.11:6443 // k8s叢集地址 CoreDNS is running at https://192.168.1.11:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy
### --- 獲取證書的key ~~~ # 獲取建立的證書key值 [root@k8s-master01 ~]# cat /etc/kubernetes/pki/ca.pem -----BEGIN CERTIFICATE----- MIID5DCCAsygAwIBAgIUTlEXygdPgKATD8xHBewHDYA2FuowDQYJKoZIhvcNAQEL BQAwdzELMAkGA1UEBhMCQ04xEDAOBgNVBAgTB0JlaWppbmcxEDAOBgNVBAcTB0Jl aWppbmcxEzARBgNVBAoTCkt1YmVybmV0ZXMxGjAYBgNVBAsTEUt1YmVybmV0ZXMt bWFudWFsMRMwEQYDVQQDEwprdWJlcm5ldGVzMCAXDTIxMDUxMjExMTkwMFoYDzIx MjEwNDE4MTExOTAwWjB3MQswCQYDVQQGEwJDTjEQMA4GA1UECBMHQmVpamluZzEQ MA4GA1UEBxMHQmVpamluZzETMBEGA1UEChMKS3ViZXJuZXRlczEaMBgGA1UECxMR S3ViZXJuZXRlcy1tYW51YWwxEzARBgNVBAMTCmt1YmVybmV0ZXMwggEiMA0GCSqG SIb3DQEBAQUAA4IBDwAwggEKAoIBAQCVh5hiIKEqpn+mhd9uJwU+VBoZXnaJgBP9 PN4nxi/R+mJgyKMY6XDubW748VmchojMdsAhuecXxniPehdOaWSqhvJ2DgfoBoHT 0Vf2RZfz2ghPRr10w/uf2QSJeQHKCSYMrd0/Y6BTrB1JjMQGOZTxKTxnxyznBizs l4DKJjmg0HeLLXU3HVUFKs1AVe1t+T4z0E117VPHvUmlrx92o/etc0FY+npLDA5A X1u8kpx5SFY1o8uo0SXRing4r8Nnx8NMTTaBqjN7kYYWKYIkCin0RDr3WNrE4U07 MlJ1U8tbECwZLsOK8EUDOJfeeG+iIJ8BqPLlUoJ24JgpEkn2UDkdAgMBAAGjZjBk MA4GA1UdDwEB/wQEAwIBBjASBgNVHRMBAf8ECDAGAQH/AgECMB0GA1UdDgQWBBTF +bXhAH8mkCtLeu98SmkWVSD5ajAfBgNVHSMEGDAWgBTF+bXhAH8mkCtLeu98SmkW VSD5ajANBgkqhkiG9w0BAQsFAAOCAQEAGORbgIwaEc7h4SjokIyUdde0qZkIPfzB 0Rl370wSf8bbwegJpRze3vl042RLTXxyjwM0s0qRkNt2HYtGGlcH2doiAbYaVtfN Sp+ZhlK9eQEk+/vGn0eRdyVMlxjgpCA3P6mOf0UNrE6uAPdaPUBoQ9tREkl4a2Hq +ipVDbwjdYZeKdkLKIvNIQePTLp5ZALXf3O3Gc4mGR8iGZ1iU2lsAMN2F7+Nt3Ka mZihKawxDWC8VgnN4RZjH5f/vwJEUCsme6mU4+b9/QSI0aWTAW/dHAJYjpdW2oHa kSoSFXeLnKoFxQJEb9IeYPDHqV3p6oYJIfJo8Hi/KbwAmfgmwgAyww== -----END CERTIFICATE-----
### --- 建立憑證:生成PKCS檔案
~~~ # 在linux下手動生成PKCS12檔案
[root@k8s-master01 pki]# openssl pkcs12 -export -out /tmp/default.pfx -inkey admin-key.pem -in admin.pem -certfile ca.pem
Enter Export Password:123456
Verifying - Enter Export Password:123456
[root@k8s-master01 pki]# sz /tmp/default.pfx
二、在Jenkins下建立k8s叢集~~~ # 生成憑證檔案 ~~~ Jenkins——>Dashboar——>Credentials——>Global Credentials(Unrestricted)——> ~~~ ——>Add Credentials——>Kind:Certificate——>Scope:Global (Jenkins, nodes, items, all child items, etc)——> ~~~ ——>Certificate: Upload PKCS#12 certificate:選擇檔案———>選擇檔案:上傳生成的default.pfx檔案——> ~~~ ——>Password:123456——>ID:default-cluster——>ok——>END
### --- Jenkins下k8s單叢集配置
~~~ 若是隻有一個叢集,寫完Kubernetes URl地址後,Test Connection——>Save即可,
~~~ 但是生產環境中是不可能只有一個叢集的
~~~ # Jenkins下k8s單叢集配置
~~~ Dashboard——>Manager Jenkins——>Configure System——>Cloud:The cloud configuration has moved to a separate configuration page.——>
~~~ ——>Configure Clouds——>Kubernetes——>Kubernetes Cloiud details——>
~~~ ——>Name:kubernetes-default——>Kubernetes:https://192.168.1.11:6443——>Test Connection——>Save——>END
### --- Jenkins下k8s多叢集配置
~~~ 首先需要建立一個PKCS格式的證書,就是把伺服器的金鑰對,實體證書或者中間證書轉換成一個檔案,
~~~ 用這個檔案分解成各種證書,
~~~ # Jenkins下配置多個k8s叢集
~~~ Dashboard——>Manager Jenkins——>Configure System——>Cloud:The cloud configuration has moved to a separate configuration page.——>
~~~ ——>Configure Clouds——>Kubernetes——>Kubernetes Cloiud details——>
~~~ ——>Name:kubernetes-default——>Kubernetes:https://192.168.1.11:6443——>kubernetes server certificate key:證書的key(準備工作2)——>
~~~ ——>Credentials——>選擇祕鑰:CN=admin, OU=Kubernetes-manual, O=system:masters, L=Beijing, ST=Beijing, C=CN——>
~~~ ——>Jenkins URL:http://192.168.1.14:28080/——>
~~~ ——>Test Connection:Connection test successful或者Connected to Kubernetes v1.20.6——>
~~~ ——>Save——>END
### --- 開啟master和slave通訊埠50000
~~~ # 開啟master和slave通訊埠50000
~~~ Dashboard——>Manage Jenkins——>Configure Global Security
~~~ ——>Agents:TCP port inbound agents:Fixed:50000——>
~~~ —>Save——>END
三、Jenkins配置k8s多叢集流程
### --- Jenkins配置k8s多叢集流程
~~~ Jenkins會呼叫k8s叢集
~~~ 建立Pod模板
~~~ 執行構建任務
===============================END===============================
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart ——W.S.Landor
來自為知筆記(Wiz)