# 使用Rancher在阿里云上部署Kubernetes集群 如果您已经购买了阿里云的 ECS,那么您可以使用 Rancher 很方便的构建起一套 Kubernetes 集群用于测试及小规模使用。使用 Rancher 可以自动和可视化的完成 Kubernetes 集群的安装工作,省去的繁琐的人工安装过程,然您快速投入的业务开发中。下文根据 Rancher 2.x 安装 Kubernetes 集群。 **注:阿里云上已支持[容器服务 ACK](https://cn.aliyun.com/product/kubernetes),如果您需要高性能、企业级的 Kubernetes 服务不妨考虑一下。** ## 准备 要想使用阿里云 ECS 和 Rancher 直接搭建一套 Kubernetes 集群,需要准备以下条件: - 开通了公网 IP 的 ECS - ECS 规格建议至少 4C8G - ECS 使用的阿里云的经典网络 ### 安全组规则 组成 Kubenretes 集群的 ECS 位于阿里云经典网络中,需要为集群配置安全组规则如下: - UDP/8472 端口:阿里云默认禁止了 UDP,我们使用的 flannel 网络插件的VXLAN 模式,需要将 ECS 的安全组设置 UDP/8472 端口开放 - TCP/6443:Kubernetes API Server - TCP/2379:etcd - TCP/2380:etcd - TCP/80:http - TCP/443:https ## 步骤 假设现在我们有两个节点 master 和 node,请参考 [Rancher Quick Start Guide](https://rancher.com/docs/rancher/v2.x/en/quick-start-guide/deployment/quickstart-manual-setup/) 安装 Rancher。 ![Rancher 界面](../images/rancher-web.jpg) **Master** 先在 Master 节点安装 Rancher server、control、etcd 和 worker。 选择网络组件为 Flannel,同时在自定义主机运行命令中选择主机角色、填写主机的内网和外网 IP。 ![自定义节点信息](../images/rancher-customize-node.jpg) ```bash docker run -d --restart=unless-stopped -p 80:80 -p 443:443 rancher/rancher ``` Rancher 将自动创建 Kubernetes 集群,并默认在 80 端口运行 web server。 **Node** 添加 Node 节点时只需要在 Rancher 的 web 界面上找到您刚安装的集群并选择【编辑集群】并选择节点角色为 Worker 即可增加一台 Kubenretes 集群节点。 ## 集群交互 ![Rancher 集群监控页面](../images/rancher-cluster.jpg) 如果您习惯使用命令行与集群交互可以 Rancher 的 web 上找到集群首页上的 `Kubeconfig File` 下载按钮,将该文件中的内容保存到您自己电脑的 `~/.kube/config` 文件中。然后现在对应 Kubernetes 版本的 `kubectl` 命令并放到 `PATH` 路径下即可。 如果您没有在本地安装 `kubectl` 工具,也可以通过 Rancher 的集群页面上的 `Launch kubectl` 命令通过 web 来操作集群。 ## 参考 - [Rancher - rancher.com](https://rancher.com/products/rancher/) - [阿里云容器服务 ACK - aliyun.com](https://cn.aliyun.com/product/kubernetes)