要在Rancher中部署Kubernetes,你首先需要创建一个新的环境 ,创建环境时需要使用一个设置了Kubernetes容器编排引擎的环境模板。
Kubernetes可以在创建或者编辑环境模板时设置。如果你启动了一个Cattle环境, 你可以从应用商店 -> 官方认证中启动Kubernetes。 如果选择Catalog方式, 你可以跳过下列步骤1。
注意: 我们建议从正确的设置中启动Kubernetes环境。如果你希望修改一个已有的Kuberentes部署的设置,你可以点击已经是最新版本按钮升级Kubernetes部署到新的设置。
在环境菜单的下拉列表中, 点击管理环境。要创建一个新的环境,点击添加环境, 输入名称, 描述 (可选)等信息, 选择你希望使用的设置了Kubernetes作为容器编排引擎的环境模板。 如果启用了访问控制, 你可以添加成员并设置他们的成员角色。任何被添加到成员列表的用户都将能够访问你的环境。
在Kubernetes环境创建之后,你可以通过UI界面左上角环境菜单的环境下拉列表切换到这个环境,你也可以在环境管理页面中点击对应环境右侧的切换到此环境按钮切换到对应环境。
注意: 由于Rancher支持多种容器编排框架,目前暂不支持在已有服务运行的环境中切换容器编排框架。
创建Kubernetes环境之后, 直到你添加至少一台主机到这个环境之前,基础设施服务将不会启动。添加主机的操作步骤在各种容器编排框架下都是相同的。一旦第一台主机被添加,Rancher将会自动开始基础设施服务的部署包括Kubernetes相关服务(也就是:master, kubelet, etcd, proxy等)。你可以通过访问 Kubernetes -> 基础设施标签查看部署进度。
被用为运行Kubernetes节点的主机需要开通10250
和10255
端口给kubectl
。为了可以访问到暴露的服务,用作NodePort的端口也需要被开通。默认的NodePort是从30000
到32767
之间的TCP端口。
etcd=true
标签。orchestration=true
标签。你可以仅使用一台主机部署, 但这样将牺牲高可用性。当仅有的一台主机发生故障时,一些K8s功能例如API、在pods发生故障时进行重新调度等,将不会正常工作,直到一台新的主机被加入。compute=true
标签。注意: 只有Rancher管理员和环境所有者有权限查看基础设施服务.
当添加主机到Kubernetes环境时,主机名将作为运行kubectl get nodes
时返回的Kubernetes节点的唯一标识。
一旦部署完成,你就可以开始通过以下方式创建或者管理你的Kubernetes应用:
Rancher支持提供一个基于Kubernetes模板的应用商店。要使用一个模板,点击应用商店标签。选择你希望部署的模板并点击查看详情。检查并编辑应用栈名称、描述以及设置选项并点击启动。
如果你希望添加自己的应用模板到Kubernetes应用商店,你可以把编排文件添加到Rancher catalog中的kubernetes-templates
目录下。
要设置你自己的kubectl客户端访问新创建的Kubernetes集群,点击Kubernetes -> kubectl。点击生成配置文件按钮以生成需要的kube/config_file
配置文件,你可以下载并添加此文件到你的本地目录。
配置文件中提供了本地主机所需要的相关信息,你通过kubectl
创建的所有对象都将被显示在Rancher中。
Rancher提供了一个易用的shell界面访问一个托管的kubectl实例,可以通过这个kubectl管理Kubernetes集群和应用。
通过在Kubernetes环境中添加私有镜像仓库,环境中的Kubernetes服务能够使用这些私有镜像仓库。