本文面向的读者
=======
如果您是一个Kubernetes的初学者,本文可以帮助你快速在云上搭建一个可实际使用的集群环境,并发布自己的第一个应用。你无须提前准备任何的硬件资源或者下载任何的软件包。
如果您已经有一个自建的Kubernetes集群,想要尝试阿里云上的托管集群,本文可以帮助你快速完成上手操作,而无需详细阅读阿里云的帮助文档,从而节省您的时间。您可以在有了端到端的初体验之后,再有选择的阅读容器服务和容器镜像服务的帮助文档。
如果你已经有一个传统的部署在云上的Web应用(比如部署在云上的ECS里),想要进行容器化的改造,本文同样可以帮助到您,您甚至无需深入学习Kubernetes,只需了解基本概念即可。
准备代码
====
本文的操作全部基于阿里云控制台,因此您只需要一个阿里云控制台的登录账号即可。
我们先把应用的代码准备好。请登录[https://code.aliyun.com/](https://code.aliyun.com/) ,登录完成后,访问[https://code.aliyun.com/shengbo.tsb/yunputest](https://code.aliyun.com/shengbo.tsb/yunputest) ,点击派生项目(fork)的图标。
![1.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/2a3ce3b82a3f8c461b06e5b7593ef717.png)
在随后弹出的确认框里,点击头像确认,完成派生。
![2.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/842876e0d9c10594a88d56b4bb2d631d.png)
备选方案:如果您派生遇到了困难,可以直接从[https://github.com/docker-training/webapp](https://yq.aliyun.com/go/articleRenderRedirect?url=https%3A%2F%2Fgithub.com%2Fdocker-training%2Fwebapp) clone这个项目,然后自己通过git push到code.aliyun.com上。
准备镜像仓库
======
登录[https://cr.console.aliyun.com/cn-beijing/instances/repositories](https://cr.console.aliyun.com/cn-beijing/instances/repositories)
在左侧导航栏选择“命名空间”
![3.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/8e4cdd7aed86f3757d41683b375947fe.png)
点击“创建命令空间”,输入名字“tengshengbo”。
![4.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/53d51bbc4a2b2920d5adbca3bd66d7de.png)
确认命名空间创建完成之后,点击左侧导航栏“镜像仓库”,点击“创建镜像仓库”,输入仓库名称“yunputest”
![5.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/6f8b6966b1ab81f7c132a1780186cd1e.png)
在下一步,选择刚刚建立的代码仓库。选择“海外机器构建”以加快构建速度。提示:如果下拉框没有代码仓库,点击右侧的刷新按钮。
![6.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/50b01a256c824dd47f75ae2d92388d9a.png)
创建新镜像
=====
回到[https://code.aliyun.com/](https://code.aliyun.com/) 点击yunputest这个项目,注意,是自己名下的项目,而不是shengbo.tsb这个账号名下的项目。 点击“新标签”.
![7.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/46d4d930d71216e2fe1a501622cd6893.png)
输入标签名release-v1.5。注意,您必须使用release-v\[版本号\]形式,比如release-v2.5或者其他。
![8.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/4425a07d3a9b362620892bd24fda1064.png)
返回镜像仓库列表,[https://cr.console.aliyun.com/cn-beijing/instances/repositories](https://cr.console.aliyun.com/cn-beijing/instances/repositories)
选择自己的镜像仓库,左侧导航选择“构建”,可以看到一个构建自动生成了。
![9.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/33b7238c1a7fbfb74fbfdfc623df4e85.png)
创建Kubernetes集群
==============
访问容器服务控制台 [https://cs.console.aliyun.com/#/k8s/cluster/list](https://cs.console.aliyun.com/#/k8s/cluster/list)
选择“创建Kubernetes集群”, 集群模板选择第一个“标准托管集群”
![10.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/8fff3484a8b777c852e52d082ce89e88.png)
集群名称选择“yunpu-k8s”,选择专有网络和虚拟交换机,勾选公网访问(为了开发测试方便),选择实例类型(如果不考虑性能,单纯为了省钱,可以使用t5或者t6实例),其他默认就好。
![11.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/6d744bac697faddaa978cb0f02995af3.png)
注意:Pod CIDR,Service CIDR不能与VPC内已有网段冲突,如果提示有错误,请更换网络的CIDR。
![12.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/7a2a16a3dfe347e8994726072e6f4b41.png)
在确认对话框里勾选协议,完成创建。之后,确认自己的集群运行中。
![13.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/6a4128407156125ae286d538306895be.png)
部署第一个应用
=======
容器服务的左侧导航栏选择“应用-无状态”,点击“使用镜像创建”,在“应用基本信息”这一部分, 输入应用名称yunpuapp, 选择刚创建的集群yunpu-k8s, 其他默认。
![14.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/87436430037184c88be814dec28fb40e.png)
下一步,容器配置,镜像名称一项,点击“选择镜像”,选择刚才自动从代码创建的镜像
![15.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/003b16265124e1bf0dd62ea77f146aff.png)
镜像Tag一项,点击“选择镜像Tag”,选择你刚刚自己定义的版本号,比如1.4。其他保持默认。
点击下一步。
![16.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/d697c56d0e7be75ae98ce45e0fc29de7.png)
在高级配置里面,点击“服务(Service)”旁边的“创建”,
![17.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/fa8f1219205e735e86fbaaa243941be8.png)
端口映射一项,输入名称port,注意服务端口80,容器端口5000.
![18.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/ea533d409ed6324329da9852621af587.png)
点击“路由(Ingress)”旁边的“创建”,输入域名yunpuapp选择刚刚创建的服务以及port。
![19.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/a4dfc2cbe6ecd20cb56dc134b3215cfb.png)
创建成功之后,可以看到应用的访问方式,在“路由(Ingress)”里面,“规则”一项,有一个链接。
![20.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/3c7281e32fc58295292ff71d93f9a205.png)
点击这个链接,可以访问应用,显示内容包含响应时间、应用运行时的host name以及IP地址。多次刷新链接,可以看到不同的ip地址,这个说明后面对应的容器组Pod是多个。
![21.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/16294cecd2564b992b7ca8b9118d58f6.png)
升级应用
====
建议您自行尝试更改应用的代码,比如简单更改webapp/app.py这个文件,完成git tag后,git push.
```
$ git tag release-v1.5
$ git push origin release-v1.5
```
![](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw==)![](data:image/gif;base64,R0lGODlhAQABAPABAP///wAAACH5BAEKAAAALAAAAAABAAEAAAICRAEAOw== "点击并拖拽以移动")
或者,您也可以直接在 [https://code.aliyun.com/](https://code.aliyun.com/) 控制台上,为master分支新建标签release-v1.5
等待镜像更新完成后,在“无状态应用”页,点击应用旁边的“编辑”。
![22.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/cfb3b0a02612e8bbd9d20b98d3e6042a.png)
编辑页面,选择新的版本1.5,点击更新
![23.png](https://ata2-img.cn-hangzhou.oss-pub.aliyun-inc.com/862a4d79a3ec53c55d00b2a227716c86.png)
下一步
===
阿里云的容器服务Kubernetes不是只有托管版,还有专有版和Serverless版。专有版适合有丰富的容器运维经验,希望长时间运行某个应用,并且独立自主运维全部基础设施的的大企业用户。Serverless版适合不希望关心基础设施的运维,或者只是短时间运行某个应用从而希望开箱即用的中小企业用户。本文介绍的托管版则介于专有版和Serverless版两者之间。
[原文链接](https://link.zhihu.com/?target=https%3A//yq.aliyun.com/articles/739645%3Futm_content%3Dg_1000094672)
本文为阿里云内容,未经允许不得转载。
分享到:
相关推荐
│ 04-kubernetes应用快速入门.mp4 │ 05-kubernetes资源清单定义入门.mp4 │ 06-Kubernetes Pod控制器应用进阶.mp4 │ 07-Kubernetes Pod控制器应用进阶.mp4 │ 08-Kubernetes Pod控制器.mp4 │ 09-Kubernetes Pod...
阿里云开源插件Log-Pilot是一款专为Kubernetes(k8s)设计的日志收集工具,它能够有效地从运行在集群中的容器内收集应用程序日志,以帮助运维人员进行监控、故障排查和数据分析。Log-Pilot支持多种数据源,包括容器...
Kubernetes是一个由Google开源的容器集群管理系统,它主要基于Docker容器技术构建。Kubernetes的目标是自动化容器的部署、调度和扩展,实现高效、弹性、高可用的服务运行。随着云计算和容器技术的兴起,Kubernetes...
《开源容器云OpenShift构建基于Kubernetes的企业应用云平台》由Red Hat官方技术专家陈耿撰写,深入探讨了如何利用OpenShift这一强大的容器云平台,为企业构建高效、灵活且易于管理的应用云环境。OpenShift是建立在...
《Python库cdktf与Kubernetes的整合:深入解析cdktf-cdktf-provider-kubernetes-0.6.17》 在现代云原生环境中,Kubernetes(K8s)作为容器编排的首选平台,已经成为了后端开发的重要组成部分。而Python作为一种广泛...
阿里云专有云企业版容器服务Kubernetes版产品简介旨在为用户提供专业的容器服务解决方案,该产品基于Kubernetes技术,提供高性能可伸缩的容器管理服务,支持企业级Kubernetes容器化应用的生命周期管理。 法律声明 ...
Kubernetes(也称为k8s)是一个开源平台,用于自动化容器化应用的部署、扩展和管理。它由Google设计,现在由Cloud Native Computing Foundation维护。Kubernetes的核心组件包括:etcd(分布式键值存储)、apiserver...
本资源包“k8s-1.16.1-搭建和操作-kubernetes安装包和详细文档笔记整理”提供了针对Kubernetes 1.16.1版本的详细指南,包括安装和操作步骤,对于学习和实践Kubernetes的用户来说,是一份非常宝贵的参考资料。...
如何用OpenStack和Kubernetes快速搭建一个容器和虚拟机组合服务的云平台
在本压缩包中,我们聚焦于“k8s-v.1.14.2搭建和操作”的主题,涉及了Kubernetes(简称k8s)的安装、Web界面使用以及监控功能的实现。Kubernetes作为业界领先的容器编排系统,其高可用性(HA)对于生产环境至关重要。...
如何用OpenStack和Kubernetes快速搭建一个容器和虚拟机组合服务的云平台.pptx 孙杰:大型企业云平台架构演进的实践之路.pdf 微服务道与术-敖小剑.pdf 微软Azure云助力微服务-赵文婧.pdf 颜卫-腾讯云容器服务基于...
开源版本gpt3.5无需服务器搭建(阿里云函数开源版本gpt3.5无需服务器搭建(阿里云函数开源版本gpt3.5无需服务器搭建(阿里云函数开源版本gpt3.5无需服务器搭建(阿里云函数开源版本gpt3.5无需服务器搭建(阿里云函数...
本文将基于作者的一次实践经历,详细介绍如何在阿里云上搭建Windows 2008服务器,并配置Web环境供外部访问。 #### 二、搭建准备 - **实训与实习的选择**:对于即将毕业的学生而言,实训或实习的选择非常重要。作者...
本压缩包文件“linux-kubernetes集群安装脚本”显然提供了在Linux系统上搭建Kubernetes集群的自动化脚本,这将极大地简化安装过程,减少手动配置带来的错误。 首先,我们来了解一下Kubernetes(通常简称为K8s)。...
这个资源包“k8s3主1从-1.15.1-高可用搭建-ipvs模式-kubernetes高可用安装包和详细文档笔记整理”显然是一个针对k8s 1.15.1版本的高可用性(HA)集群的搭建指南,特别强调了使用IPVS(IP虚拟服务器)作为服务负载...
在IT行业中,Linux和Kubernetes(K8s)是现代云原生应用部署的重要组成部分,而Ansible则是一种流行的自动化工具,用于简化管理和部署任务。本文将深入探讨如何利用Ansible在Linux环境中快速安装和配置Kubernetes...
Kubernetes是一个强大的开源容器编排系统,能够自动化容器的部署、扩展和管理,提高了应用部署的速度和灵活性。借助K8s,用户可以快速部署应用、轻松扩展、无缝对接新功能,并优化硬件资源利用。随着K8s社区的发展,...
全民双十一:基于容器服务的大促备战 容器混合云趋势与展望 容器上云的攻与守 三维家的 Paas 平台建设与微服务架构 深入 Kubernetes 的“无人区”-蚂蚁金服双十一的调度系统 使用 Kubernetes 运行 MXNet 和 AutoTVM ...
在现代云原生环境中,Kubernetes(简称k8s)作为容器编排系统的领头羊,已经成为管理和部署应用程序的关键技术。而Ansible,作为一个强大的自动化工具,能够帮助我们更有效地配置和管理Kubernetes集群。本文将详细...