随着互联网时代的不断发展,开发者可能会面临这样的困境:为了解决问题、提升开发效率而竭力研发出来的“创新”,似乎削弱了他们在公司的重要程度,甚至取代了他们原先的地位。比如,在云原生时代,部分企业更愿意选择 K8s 来解决运维、弹性的问题,而不是组建一支需要耗费大量雇佣资金、管理资金的研发团队。

对于 K8s,它的价值在于不仅能帮助公司降低运维成本,同时还可以带来弹性、敏捷、可移植能力,但是对于开发者而言,我们的价值不应该仅仅停留在能与 K8s 解决同样的问题,而是从困境跳脱出来,思考如何更灵活、更高效地运用 K8s 这些 “能为你所用” 的东西,来提升自己的综合技能。

涉及开发的技术人员,永远绕不开的就是将应用部署到相应服务器上,今天给大家讲解,对于容器服务 K8s,怎么实现真正“一键部署“,提高开发部署效率,在 K8s 的运用上做到快人一步。以下是本文提纲:

  • 什么是容器服务 K8s
  • 如何实现”一键部署“到容器服务 K8s
  • 如何实现”一键部署“到 host,开发部署提速 8 倍

一、 什么是容器服务 K8s

容器服务 K8s 是基于原生 K8s 进行适配和增强,简化集群的搭建和扩容等工作,提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理,整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。其中的核心功能为:

  • 集群管理:灵活的地域和网络环境选择,可以根据自己的需求,选择不同的地域创建和删除集群。
  • 多种服务器托管方式:支持授权容器服务创建云服务器加入到指定集群,支持将已购买的云服务器添加到指定集群。
  • 一站式容器生命周期管理:包括网络、存储、日志、监控、调度、路由、权限。
  • 灵活扩展调度策略,轻松打通上下游交付流程:支持服务级别的亲和性策略和横向扩展、跨 AZ 高可用和灾难恢复、集群和应用管理的 OpenAPI,轻松对接持续集成和私有部署系统。

二、如何实现”一键部署“到容器服务 K8s

提高开发部署的效率有很多种方法,今天给大家分享的是一款本地 IDE 插件——Cloud Toolkit,据说是开发者用得最多的插件之一,不仅能够将代码开发到最终部署这整个流程自动化,更是可以部署到任意服务器 & 云端(ECS、EDAS、K8s 和小程序云等),而且附带很多功能:Arthas 诊断、Dubbo工具、Terminal 终端、文件上传和 MySQL 执行器等,最重要的一点是:免费!免费!免费!网上很多博客、技术网站、公众号都有相关的测评,大家可以参考看看,或者自己安装试用,一定要试用【一键部署】的功能!下面介绍,如何借助这个插件,将应用一键部署到容器服务 k8s 上。

(一)安装插件

免费插件链接:https://www.aliyun.com/product/cloudtoolkit

(二)配置插件首选项

点击:顶部菜单Tools --> Alibaba Cloud Toolkit --> Preferences-->左边列表的 Alibaba Cloud Toolkit--> Accounts ,出现如下界面,配置阿里云账号的 AK 和 SK,即可完成首选项配置。(如果是子账号,则填写子账号的 AK 和 SK)

(三)设置本地 Docker 镜像打包

点击:顶部菜单Tools --> Alibaba Cloud Toolkit --> Preferences --> 左边列表的 Alibaba Cloud Toolkit --> Docker,如下图,设置本地 Docker 镜像打包。

(三)部署应用

在 Intellij IDEA 中,鼠标右键项目工程名,在出现的菜单中点击 Alibaba Cloud --> Deploy to CS Kubernetes...,出现如下部署窗口:

第一步:设置 Image

  • 在 Image 标签页中,选择本地应用程序的 Context Directory 和 Dockerfile (通常会根据您本地的应用工程自动识别并设置)。
  • 选择容器镜像服务的地域、命名空间和镜像仓库,然后单击 Container 标签页。

(说明:如果您还没有镜像仓库,在对话框右上角单击 Create a new repository 跳转到容器镜像仓库创建镜像仓库,创建步骤请参考容器镜像仓库文档。)

第二步:设置 Container

  • 在 Container 标签页,选择容器服务 Kubernetes 的 Deployment(部署)、Clusters(集群)和Namespace(命名空间) 。
  • 选择指定的 Container(容器)。

(说明:如果您还没有创建容器服务 Kubernetes 的 Deployment,在对话框右上角单击 Create a new Kubernetes deployment,跳转到容器服务 Kubernetes 控制台创建 Deployment,创建步骤请参考容器服务 Kubernetes 版文档。)

第三步:执行部署

点击 Run 按钮之后,即可完成本地应用程序向容器服务 Kubernetes 的部署。

三、如何实现”一键部署“到 host,开发部署提速 8 倍

这款插件可以将应用部署到 6 种服务器上,分别是:

下面为大家详细解说,如何将应用一键部署到 host。

第一步:添加服务器

  • 点击:顶部菜单 Tools --> Alibaba Cloud --> Alibaba Cloud View --> Host ,打开机器视图界面,如下图:

  • 点击:右上角 Add Host 按钮,出现添加机器界面,如下图,设置相关配置。

第二步:执行部署

在 IntelliJ IDEA 中,鼠标右键项目工程名,在出现的菜单中点击 Alibaba Cloud --> Deploy to Host...,会出现如下部署窗口,设置部署参数,然后单击 Deploy,即可执行初次部署。

部署参数说明:

  1. Deploy File:部署文件包含两种方式:
  • Maven Build:如果当前工程采用 Maven 构建,可以使用 Cloud Toolkit 直接构建并部署。
  • Upload File:如果当前工程并非采用 Maven 构建,或者本地已经存在打包好的部署文件,可以选择并直接上传本地的部署文件。
  1. Target Deploy host:在下拉列表中选择 Tag,然后选择要部署的服务器。
  2. Deploy Location :输入在 ECS 上部署路径,如 /root/tomcat/webapps。
  3. Commond:输入应用启动命令,如 sh /root/restart.sh。表示在完成应用包的部署后,需要执行的命令 —— 对于 Java 程序而言,通常是一句 Tomcat 的启动命令。

最后,希望今天推荐的插件能够真正帮助大家提高开发部署的效率,提高对工具运用的能力,大家可安装试用起来,有任何疑问都可以加入社群进行提问,听说他们的客服也是一流,而且不定期有各种有奖活动/排位赛,最近就有 2 个中奖率较高的活动,点击本链接在文末查看具体的活动详情。

欢迎关注我的公众号:程序猿DD,获得独家整理的学习资源和日常干货推送。
如果您对我的专题内容感兴趣,也可以关注我的博客:didispace.com

再不努力提高效率,小姐姐都被人追走了:K8S一键部署了解一下?的更多相关文章

  1. 刷抖音太累,教你用Python把高颜值的小姐姐都爬下来慢慢看

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者: 星安果.AirPython 目 标 场 景 相信大家平时刷抖音短视频 ...

  2. 不得不用的提高效率小技巧让你用Mac更顺手| Mac小技巧(三)

    文章内容及图片来源于:知乎,如果涉及版权问题,请联系作者删除 文章收录于:风云社区(提供上千款各类mac软件的下载) 1. 用预览给GIF删帧 我们在给文章配图或者做表情包的过程中,常需要截取 GIF ...

  3. 小I的小姐姐

    小 I 的小姐姐 Time Limit: 1000 ms Memory Limit: 65536 KiB Problem Description 小 I 去天津玩啦,一路上,他跟他的同学发生了许多有趣 ...

  4. 分享两个提高效率的AndroidStudio小技巧

    这次分享两个 Android Studio 的小技巧,能够有效提高效率和减少犯错,尤其是在团队协作开发中. Getter 模板修改--自动处理 null 判断 格式化代码自动整理方法位置--广度 or ...

  5. 都是假的!这位小姐姐 P 的图,认真看你就输了!

    开门见山,先来看张图: 肯定有不少小伙伴用不屑的语气说,嗬!一看就是 P 的! 是的,任谁都能一眼看出来是假的.但你可能想象不到,这张图的原始素材是有多么……支离破碎,熊是动物园里的,小孩是在家门口站 ...

  6. 一次C#和C++的实际应用性能比较(C++允许我们使用任何手段来提高效率,只要愿意做出足够的努力)

    05年时,在微软的Rico Mariani做了一次实际应用的C#和C++的性能比较.事情起源于微软著名的元老Raymond Chen(在下敬仰的超级牛人)用C++写了一个英汉词典程序,来描述讲解优化C ...

  7. 用python爬取之后发现果然如此,都说知乎的小姐姐漂亮

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. PS:如有需要Python学习资料的小伙伴可以加点击下方链接自行获取http ...

  8. 应小姐姐要求,整理常用Git操作命令,她都学会了,你确定不收藏

    前言 因为个人原因,转化了部门之后已经很久没有接触过开发层级的东西了,好多东西基本都忘记了,但是新的部门有时候会用到相应的研发部的代码和文档手册,所以耳边就充斥这一句话 这个为什么下载不了?这个为什么 ...

  9. 计算机天才Aaron Swartz 名作 《如何提高效率》——纪念真正的“hacker"!

    如何提高效率 <HOWTO: Be more productive>(如何提高效率)作者:Aaron Swartz 肯定有人跟你说过这样的话,“你有看电视的那么长时间,都可以用来写一本书了 ...

随机推荐

  1. Python3.7.4入门-0/1To Begin/数据类型与结构

    0 To Begin //:向下取整除法 **:乘方 在交互模式下,上一次打印出来的表达式被赋值给变量 _ 如果不希望前置了 \ 的字符转义成特殊字符,可以使用 原始字符串 方式,在引号前添加 r 即 ...

  2. Microsoft Visual C++ 14.0 is required,成功解决这个问题!

    这个问题我向大家也不一定很好解决的,因为按照这个链接提示的打开,里面的t[mark][/mark]ools 页面早就已经不存在了,我也是看了网上各种各样的解决办法,解决起来是困难,这个提示的意思是缺少 ...

  3. Linux版本号的数值含义

    Linux内核版本有两种:稳定版和开发版 ,Linux内核版本号由3组数字组成:第一个组数字.第二组数字.第三组数字.第一个组数字:目前发布的内核主版本.第二个组数字:偶数表示稳定版本:奇数表示开发中 ...

  4. 数据分析--pandas的基本使用

    一.pandas概述 1.pandas是一个强大的Python数据分析的工具包,是基于NumPy构建的. 2.pandas的主要功能 具备对其功能的数据结构DataFrame.Series 集成时间序 ...

  5. c++中不需要显示指出struct

    赫  21:48:16请教个问题赫  21:49:53类声明前对私有继承的结构,的struct定义是什么作用?类声明前对该类私有继承的结构,的struct定义是什么作用?赫  21:51:21stru ...

  6. Kotlin学习系列(一)

    基本类型 在Kotlin中任何事物都是对象你可以在任何变量上调用相应的方法或属性.Kotlin的一些内置类型如下: Number: 包含整形与浮点型 Character: 字符(Chat) Boole ...

  7. Activiti(1) - TaskRuntime API 入门

    目录 TaskRuntime API pom.xml 注册TaskRuntime实例 角色与分组 任务事件监听器 DemoApplication 源码 Activiti 是一个自动化工作流框架.它能帮 ...

  8. 系统定时任务crond

    1.Linux的定时任务:crond(crontab)服务 (1)crond 是什么? crond 是 linux 系统中用来定期执行命令或者指定程序任务的一种服务和软件:crond 服务默认情况(每 ...

  9. Hbase入门(五)——客户端(Java,Shell,Thrift,Rest,MR,WebUI)

    Hbase的客户端有原生java客户端,Hbase Shell,Thrift,Rest,Mapreduce,WebUI等等. 下面是这几种客户端的常见用法. 一.原生Java客户端 原生java客户端 ...

  10. drf 框架

    一. drf简介 drf框架,全程: django-rest framework  ,   rest是插件名字,django插件的名字叫rest,framework是框架的意思 二. 接口 在平时生活 ...