• 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://:/v2-beta/projects//registrationtokens
    • 相应的在 http://:/v2-beta/registrationtokens 会产生一个 accountId 等于 projectId 的 RegistrationToken
    • 通过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来完成配置。




  • 相关阅读:
    Linux下的游戏及模拟器
    [Java]学习Java(3)数组、字符串
    [Javascript]Event属性
    下载文件名乱码
    比那 施氏食狮史 还要强的文章
    [Javascript]脚本学习(1)
    [Java]学习Java(2)基本类型与对象
    [Java]学习Java(1)运算符&语句&类
    LumaQQ开发文档
    Extensions for FireFox
  • 原文地址:https://www.cnblogs.com/DDante/p/0aab9d591220a3a554ee401130c9b16b.html
Copyright © 2020-2023  润新知