阿里云飞天发布时刻,领先大模型限免,超7000万 tokens免费体验 了解详情
写点什么

手把手教你从零开始搭建阿里云 ACK 集群和 Rancher 环境

  • 2020-05-16
  • 本文字数:2120 字

    阅读完需:约 7 分钟

手把手教你从零开始搭建阿里云ACK集群和Rancher环境

创建 ACK 集群

  1. 首先从阿里云控制台进入【容器服务】

  2. 点击右上角的【创建 Kubernetes 集群】

  3. 选择【标准托管集群】



  1. 按需求进行配置即可


重要事项!

  1. VPC 网络不要选错,因为一旦选择不可修改,只能重建集群。

  2. 强烈建议勾选【公网访问】。因为如果不勾选,就再也无法从公网访问集群(除非重建集群)。这将导致包括 CloudShell 在内的服务都不可用。

  3. 如果出于安全的考虑,确实不需要公网访问,也建议勾选【公网访问】,之后在自动创建的负载均衡中,停止对公网暴露的监听项,日后有需要还可以随时开启。

  4. 系统推荐选项强烈建议全部勾选,如果此时不勾,以后再开启会非常麻烦。

安装 Rancher

安装 Rancher 可以从以下方式二选一:


  • 新建一台专用于 Rancher 的 ECS 来安装,可参考这篇文章

  • 使用集群刚刚创建的 Worker 节点来安装


然后在要安装 Rancher 的服务器上执行以下脚本:


sudo docker run -d --restart=unless-stopped \-p 9999:443 \-v /var/lib/rancher:/var/lib/rancher \--name rancher-server \rancher/rancher
复制代码


如果你的 Rancher Server 需要从外网访问,则需要对外网暴露 Rancher 服务。


具体操作可以从以下方式二选一:


  • 给所在的 ECS 绑定公网 EIP,同时设置阿里云安全组策略(开放 9999 端口)

  • 使用阿里云 SLB

配置 Rancher

Rancher 可以导入 ACK 集群的前提条件是,集群的 Worker 节点必须可以访问 Rancher Server。不仅可以通过公网访问,也可以通过内网访问 Rancher Server。


达到这一前提条件取决于 Rancher 第一次启动时,你设置的 Rancher Server URL。



请务必确保 Worker 节点到此 URL 的网络是连通的。


该地址与你在网页浏览器中访问 Rancher 的地址,没有必然的关联。Worker 节点将以此处填写的地址连接 Rancher,但你依然使用公网域名/IP 在浏览器中来访问 Rancher。

在 Rancher 中导入 ACK 集群

  1. 进入 Rancher,点击【Add Cluster】

  2. 选择【Import existing cluster】



  1. 然后你将看到如下图的页面,只需将最后一行命令复制,然后在 kubectl 中执行即可。


执行 kubectl

由于创建集群时,勾选了【公网访问】,所以只需要在 CloudShell 中执行就可以。



但是注意,由于刚刚设置的 Rancher Server URL 为内网地址,所以生成的导入命令是这样的:


curl --insecure -sfL https://10.0.148.20:9999/v3/import/8fq8pd9tlbmms5cv84wbvl6xcsdtddr8lhvwxm6f5vmtph56xd52jt.yaml | kubectl apply -f -
复制代码


10.0.148.20 是我的内网地址,CloudShell 无法访问,所以需要将命令中的这个地址改为公网地址。但通过公网地址访问上述 YAML 时,其中的 ServerURL 也会变成公网。(如此 Worker 节点就是通过公网 IP 来连接 Rancher 了)


但我们希望 Worker 节点通过内网 IP 来连接 RancherServer(速度更快且不需要流量),所以需要做以下处理。


1.先将 YAML 下载到 CloudShell 本地:


curl --insecure -sfL https://公网IP:9999/v3/import/8fq8pd9tlbmms5cv84wbvl6xcsdtddr8lhvwxm6f5vmtph56xd52jt.yaml > rancher.yaml
复制代码


2.然后在 CloudShell 中,将文件中的公网 IP 替换为局域网 IP。



3.然后手工导入:


kubectl apply -f rancher.yaml
复制代码



4.回到 Rancher,可以看到刚刚创建的集群,Etcd 和 Nodes 状态已经正常。



但 Controller Manager 和 Scheduler 的状态始终为不正常。经过与阿里云客服确认,由于我们创建的是 ACK 托管版集群,集群的 Master 节点并不可见,所以实际是获取不到 Controller Manager 和 Scheduler 的状态,所以此处实际没有问题,可以忽略。


之后,就可以正常使用 Rancher 了。

创建静态 PVC 和动态 StorageClass

使用阿里云云盘作静态 PVC



NAS 作动态 StorageClass



使用阿里云 OSS 做静态 PVC


使用阿里云集群的优势

在此之前,我们团队一直是使用 ECS 自建集群。在一番评估之后,最终迁移到了阿里云的托管集群,主要考虑到以下几个优势。

与 Pod 网络互通

托管集群,VPC 网络与 Pod 网络是互通的。这意味着,在 ECS 机器里即可 ping 通 Pod IP。如此,只需要在 ECS 主机上,搭建一个 VPN,我们在连入 VPC 网络的同时,也连入了 Pod 网络。这对于开发调试而言,十分方便。此外,还可以使用阿里云的付费 VPN 网关功能,配置更简单。

扩容方便,且支持自动扩缩容

集群的自动伸缩,和容器的 HPA 功能,可以让集群和应用根据实际使用情况,自动进行扩容和缩容。这极大的解放了运维人员,节假日再也不需要为了扩容紧张值班了!

便捷使用云盘、NAS、OSS 作为 StorageClass

可直接使用云盘作为 PVC,这极大方便了 IO 性能敏感的应用(例如 DB)。OSS 则可作为存储成本非常低廉的方式,并且可以极大缩减我们管理 OSS 文件的成本。

自动接入阿里云日志系统

只需要在界面上进行简单地配置,就可以便捷的将容器日志接入阿里云日志系统。方便事后搜索、查看、分析日志,再也不需要担心日志把硬盘内存占满了。


原文


2020-05-16 17:164417

评论

发布
暂无评论
发现更多内容

ETL都没弄懂,谈什么大数据 ?我用一分钟给你整明白

智分析

ETL

【CSS】CSS对大小写敏感吗?

德育处主任

28天写作

代码也能“杀”虫:此虫,真虫非Bug也

华为云开发者联盟

代码 华为云 modelarts

【Mysql-InnoDB系列】InnoDB架构

程序员架构进阶

MySQL 架构 innodb 28天写作

如果你听说过 Elastic Certified Engineer

escray

七日更 28天写作 死磕Elasticsearch 60天通过Elastic认证考试

VUE项目性能优化实践——通过懒加载提升页面响应速度

葡萄城技术团队

Vue

俯瞰Dubbo全局,阅读源码前必须掌握这些!!

冰河

架构 分布式 微服务 dubbo 服务治理

LeetCode题解:111. 二叉树的最小深度,BFS,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

杜绝标题党,好的标题是成功的99%

xcbeyond

方法论 28天写作 写作技巧

一个正确的编程思维

程序员吴师兄

28天写作

价值 - 价值的底色(一)

石云升

读书笔记 投资 28天写作 价值

软件界旷世之架:测试驱动开发(TDD)之争

华为云开发者联盟

软件 测试 TDD 代码 devcloud

还在手动写数据库文档吗?试试这个工具,划水干活儿两不误!

我爱娃哈哈😍

数据库 文档生成

Java中定时器Timer致命缺点(附学习方法)

叫练

学习 定时任务 多线程 定时器 技术学习

技术实录 | 灵雀云基于 OVN 的 Kubernetes 网络架构解析

York

灵雀云 Kubernetes k8s Kube-OVN

SpringCloud从入门到精通02---支付模块01

Felix

文档驱动开发模式在 AIMS 中的应用与实践

华为云开发者联盟

Web 代码 API 文档

volatile 关键字精讲

伯阳

Java volatile 后端 关键字 多线程与高并发

云算力矿机租赁挖矿APP系统开发|云算力矿机租赁挖矿软件开发

系统开发

大作业一:架构设计方案评审

Nick~毓

SpringCloud从入门到精通01---父项目创建

Felix

SpringCloud Eureka 高可用架构

如何使用Eclipse内存分析工具定位内存泄露

Java老k

Java 内存泄露

开始的开始-可能是最早提交的28天写作活动作品

石君

28天写作

从七日更,到28天写作挑战,我无法拒绝的原因

梁龙先森

大前端 编程语言 28天写作

Spark HistoryServer日志解析&清理异常

kwang

大数据 spark hdfs

边缘计算安全技术研究

华为云原生团队

云计算 大数据 云原生 边缘计算 华为云

Hive的调优你都知道那些?

大数据老哥

大数据 hadoop hive

新思科技网络安全研究中心发现Bouncy Castle中的漏洞

InfoQ_434670063458

新思科技 Bouncy Castle

灵雀云Kube-OVN:基于OVN的开源Kubernetes网络实践

York

灵雀云 Kubernetes k8s Kube-OVN

如何使用Eclipse内存分析工具定位内存泄露

AI乔治

Java eclipse 架构

要想软件“一想之美”,UI测试少不了

华为云开发者联盟

软件 测试 华为云

手把手教你从零开始搭建阿里云ACK集群和Rancher环境_文化 & 方法_Rancher_InfoQ精选文章