目的 :
- 根據 LDAP 中的使用者,在 APP 建立一個團隊。(此處的APP指的是基于java的控制中心,目的是為了管理團隊和LADP中使用者的關聯關系)
- 在harbor中建立鏡像倉庫
- 在rancher中建立與團隊對應的兩個環境(在APP中記錄rancher環境相關的name,id)
- 環境初始化 :
- 使對應環境生成注冊密碼 “ RegistrationToken ”,産生相應的Command
- 連接配接目标主機,并輸入獲得的 Command
- 通過Rancher部屬KubernetesKubernetes
- 通過Rancher部屬Kubernetes
步驟 :
- 與Rancher的相關操作,通過 rancher-java-sdk 實作。
// rancher
// https://mvnrepository.com/artifact/br.com.basis/rancher-java-sdk
compile group: 'br.com.basis', name: 'rancher-java-sdk', version: '1.0.0'
通過ProjectService來建立環境(UI中的environment = API中的project)
環境初始化:
-
獲得對應的注冊密碼
rancher-java-sdk 中建立對應環境的注冊密碼的方法提示“method not allow” 是以我們自己寫了一個方法。
- 發送post 指令至 http://
- 相應的在
- 通過RegistrationTokenService 得到相應的Command
//為了友善采用了與 rancher-java-sdk 一緻的寫法,通過rancher.type實作接口。package com.dawnpro.devops.util;
import io.rancher.base.Filters;
import io.rancher.base.TypeCollection;
import io.rancher.type.Account;
import io.rancher.type.Project;
import io.rancher.type.SetProjectMembersInput;
import retrofit2.Call;
import retrofit2.Response;
import retrofit2.http.*;
/** * @Author: Dante
* @Desciption:
*@Date: Created in 2018/4/12 0012 15:23
* @Nodified By: in 2018/4/12 0012 15:23
*/
public interface RancherCustomService {
@POST("projects/{id}/registrationtoken")
Call<Project> createRegistrationToken(@Path("id") String id);
}
-
連接配接相應主機,并運作得到的command。
Kubernetes需要一段由rancher生成的kubeconfig來完成配置。