# Kubernetes自定义集群部署
通过manifest文件定义Kubernetes对象，实现对通用的Kubernetes集群的部署。通过该方式，可以实现自建Kubernetes集群或三方云厂商Kubernetes集群的部署。
#### 前提条件
您已有自定义集群。
#### 配置部署步骤
1. **获取kubeconfig文件** 。
   
   - **以您自己的Kubernetes集群** **为例** **。**
     参考资料：[创建kubeconfig文件](https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/)
     
   
   - **以云容器引擎CCE为例** 。
     1. 进入控制台，在页面左上角单击"**服务列表 \> 容器 \> 云容器引擎** "，进入"**云容器引擎** "页面，单击目标集群名称，单击公网地址的**"绑定"** ，进行公网IP的绑定操作。
        由于部署服务默认资源池与您的Kubernetes集群不在同一个VPC，所以只能通过弹性IP访问。
        ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000001457196972.png "点击放大")
        
        
     
     2. 单击**"连接信息"** 中**"kubectl"** 对应的**"配置"** ，进入界面，在**"下载kubectl配置文件"** 下单击**"下载"**，开始下载kubectl配置文件。下载完成后您会得到一个kubeconfig.json文件。
      
   
   
   
   
2. **新建Kubernetes接入点。**
   
   1. 进入部署服务主页。
   
   2. 单击"新建应用"，填写基本信息，单击"下一步"，选择"空白模板"，单击 **"确定"**，进入"部署步骤"页面。
   
   3. 切换到"所有步骤"页签，搜索到"**Kubernetes自定义集群部署**"，单击"添加"。
   
   4. 新建Kubernetes部署接入点。 单击**"新建"**，新建Kubernetes接入点。
      填写信息后单击"验证并确定"按钮，可以验证接入点是否配置成功。
      表1参数说明 
      | **参数项**      | **说明**                                                                                              |
      |:---|:---|
      | 连接名称             | [服务扩展点](https://support.huaweicloud.com/productdesc-deployman/deployman_pdtd_00022.html#section4)的名称。 |
      | Kubernetes URL | 填写为自定义集群中的公网apiserver地址。                                                                             |
      | Kubeconfig     | 直接复制kubeconfig.json文件中的全部内容即可。                                                                       |
         
      
   
   5. 按页面提示，补全所需参数，即可完成Kubernetes公网部署。
      表2参数说明 
      | **参数项**            | **说明**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
      |:---|:---|
      | Kubernetes接入点    | 选择目标Kubernetes接入点，支持新建并管理Kubernetes接入点。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
      | kubectl命令       | 选择需要使用的kubectl命令，kubectl命令使用指南请参考：[kubectl命令](https://kubernetes.io/docs/reference/kubectl/overview/)。                                                                                                                                                                                                                                                                                                                                                                                                                                |
      | 是否使用Manifest文件  | 勾选后需选择目标Manifest文件进行部署，这些文件必须以.yaml、.yml或.json为后缀。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    |
      | Manifest文件来源        | 选择文件来源**"制品仓库"** 或**"代码仓库"**。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
      | 选择manifest文件或文件夹 | 该参数项为必填。选择需要部署的Manifest文件或文件夹，文件必须以.yaml、.yml或.json为后缀。 单击![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002124027978.png)按钮，可进入Manifest文件选择页面，选择制品仓库中需要部署的Manifest文件。其中，所属项目默认不可更改，可根据关键字进行Manifest搜索，也可先上传本地Manifest文件到仓库，单击![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002159506105.png)按钮，刷新仓库的文件再选择。选择好Manifest文件后，单击![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002124186154.png)按钮，结束Manifest文件选择。 |
      | kubectl命令参数    | 待执行的kubectl命令参数。 当上方**kubectl命令** 选择**"patch"**时，在kubectl命令参数后会自动填入'-p'以及文件路径，命令中无需填写。patch命令支持更改node、pod、deployment三种类型。 以deployment类型为例，如要修改deployment，**Kubectl命令参数**中输入"deployment deployment-test"，其中"deployment"为kind类型，"deployment-test"为kind名称。 ![](https://support.huaweicloud.com/usermanual-deployman/zh-cn_image_0000002177824249.png "点击放大")                                                         |
      | 控制选项             | 当前步骤部署失败后，应用是否继续部署后续的步骤。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
         
      
   
   
   
   
#### 相关文档
若在部署过程中遇到问题，可参考该步骤的[常见问题解决办法](https://support.huaweicloud.com/deployman_faq/deployman_faq_1439.html)。
