1. 程式人生 > 其它 >|NO.Z.00381|——————————|CloudNative|——|KuberNetes&CI/CD.V19|-----------------------------------------------------------|Jenkins.v07|Jenkins配置k8s多叢集.v01|

|NO.Z.00381|——————————|CloudNative|——|KuberNetes&CI/CD.V19|-----------------------------------------------------------|Jenkins.v07|Jenkins配置k8s多叢集.v01|



[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——>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叢集
### --- 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)