天天看點

Rancher API使用總結——自動化部屬

目的 :

  1. 根據 LDAP 中的使用者,在 APP 建立一個團隊。(此處的APP指的是基于java的控制中心,目的是為了管理團隊和LADP中使用者的關聯關系)
  2. 在harbor中建立鏡像倉庫
  3. 在rancher中建立與團隊對應的兩個環境(在APP中記錄rancher環境相關的name,id)
  4. 環境初始化 :
    1. 使對應環境生成注冊密碼 “ RegistrationToken ”,産生相應的Command
    2. 連接配接目标主機,并輸入獲得的 Command
    3. 通過Rancher部屬KubernetesKubernetes
  5. 通過Rancher部屬Kubernetes

步驟 :

// 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)

環境初始化:

  1. 獲得對應的注冊密碼

    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);
}           
  1. 連接配接相應主機,并運作得到的command。

    Kubernetes需要一段由rancher生成的kubeconfig來完成配置。

來自為知筆記(Wiz)