在任何地方部署Kubernetes
来源:互联网 发布:linux udp端口禁用 编辑:程序博客网 时间:2024/05/18 16:14
容器提供了将应用程序及其依赖关系与操作系统分离的功能。通过不以与虚拟机映像相同的方式打包操作系统,容器可以节省大量的系统资源:计算,内存和磁盘空间。容器也更快地下载,更新,部署和迭代。因此,在技术世界中,集装箱已经引起了微型革命,并被Google,微软和亚马逊等公司所采纳。
集装箱小型革命也带来了激烈的竞争,满足了集装箱配送和管理的需要。Google的开源集装箱协调员Kubernetes已经成为领先的解决方案(包括Amazon ECS和Docker Swarm等替代品),主要有三个原因:
- 云本机设计:支持部署和运行下一代应用程序
- 开放源码性质:快速创新,避免供应商锁定
- 可移植性:无论在云,内部部署,虚拟机等任何地方部署。
下图显示了Kubernetes可以在云本地部署中扮演的角色:
Kubernetes集装箱业务
如您所见,Kubernetes可以部署和管理您的集装箱化应用程序,包括NGINX,MySQL,Apache等。它可以为容器提供放置,缩放,复制,监视和其他功能。
一旦您选择了容器编排平台,下一步就是部署Kubernetes。如前所述,Kubernetes是一种便携式解决方案。因为Kubernetes使用相同的图像和配置,所以它在笔记本电脑,云端或本地的工作方式完全相同。
1.Kubernetes-as-a-Service:
这些解决方案能够在各种基础设施中部署库伯纳斯:公共云或内部部署。为Kubernetes集群选择这种方法的优点包括:
- 通过KaaS提供商升级,监控和支持
- 混合云或多云环境的轻松扩展
- 多个集群的单窗格视图
- 高度可用的多硕士Kubernetes集群,根据工作负载自动放大和缩小
- 通用企业集成,如SSO /隔离命名空间; 以及通过Helm图表部署应用程序的能力
- 集群联盟,可在多个云或数据中心之间提供真正无缝的混合环境。
Kubernetes-as-a-Service
Kubernetes-as-a-Service解决方案的示例包括Platform9和StackPoint.io。
2.托管基础设施:
Google Cloud Platform和Microsoft Azure分别通过Google集装箱引擎(GKE)和Azure Container Service(ACS)提供了Kubernetes 。将容器放在公共云中可以快速启动,但是您的数据现在将驻留在网络外围和防火墙之外。
Google的GKE引领其他公共云供应商。Google通过名为Borg的集群管理器,广泛使用容器内部项目,并拥有超过十年的经验(来源:TheNextPlatform)。相比之下,Microsoft的ACS是一个年轻的产品,而Kubernetes的支持仅在2017年2月才推出。然而,ACS提供了灵活性:用户可以选择容器编排平台(Kubernetes,Docker Swarm,DCOS),以及除了Linux之外,在Windows上部署容器化应用程序。如下图所示,GKE和ACS完全基于公共云,Kubernetes服务和基础设施由托管提供商部署和管理。
3.本地部署:
Minikube是在当地部署Kubernetes的最受欢迎的方式。它支持各种虚拟机管理程序,包括VirtualBox,VMware Fusion,KVM和xhyve以及OS,包括OSX,Windows和Linux。下图说明了Minikube的部署:
使用Minikube进行部署
如上所示,用户使用Minikube CLI和Kubectl(Kubernetes的本机CLI)与此笔记本电脑部署进行交互。Minikube CLI可用于启动,停止,删除,获取状态,并在虚拟机上执行其他操作。一旦Minikube虚拟机启动,Kubectl CLI会在Kubernetes群集上执行操作。以下命令启动现有的Minikube虚拟机并创建NGINX Kubernetes部署:
# minikube start
# cat > example.yaml<<EOF
apiVersion apps/v1beta1
kind Deployment
metadata
name nginx-deployment
spec
replicas1
template
metadata
labels
app nginx
spec
containers
name nginx
image nginx
ports
containerPort80
EOF
# kubectl create -f example.yaml
总结
Kubernetes-as-a-service,Kubernetes托管的基础设施,Minikube只是部署Kubernetes的三种方式。
原文:https://dzone.com/articles/deploy-kubernetes-anywhere- 在任何地方部署Kubernetes
- 在任何地方获取程序的applicationContext。
- Android在任何地方模拟点击屏幕
- spring在任何地方使用request
- Reachability用于在任何地方判断网络是否可用
- Reachability用于在任何地方判断网络是否可用
- 在深圳为什么能在任何地方碰到SIAS的校友呢?
- 在任何地方获取多数据源hibernate session 的方法
- 在任何地方时候sql执行查询magento表(不走magento的模块)
- icanhazip.com 使你在任何地方知道你的公网IP地址
- 向左或向右滑动在任何地方一个UITableViewCell删除的单元格没有删除按钮?
- android 之 下载管理器 在任何地方监听进度设计思路
- 防QQ可以在任何地方横向滑动的一个view
- 防坑:Mac VMware Fusion 下 windows 10虚拟机,在任何地方双击弹出开始菜单
- Loki库读解 STATIC_CHECK扩展:可放在任何地方的STATIC_CHECK,编译期打印出类型的大小
- VC单文档多视图工程中,在任何地方访问某一指定视图类的方法
- 不想去任何地方
- redis 的 dump.rdb 到底在何地方?
- 跨浏览器确定一个窗口的大小
- (一)整合spring cloud云服务架构 —简介
- Spring bean 标签加载、解析过程分析
- 细细品读 Retrofit 的设计之美一
- 报错:1130-host ... is not allowed to connect to this MySql server
- 在任何地方部署Kubernetes
- MediaPlayer 实现金额的语音播报功能
- C3P0连接池配置和实现详解
- 【PHP】Window7环境下配置PHP7+Apache2.4 环境
- 第四章 变量、作用域和内存问题
- SpringMVC接收日期类型参数的自定义转换
- 高级技巧之函数节流
- 异步脚本
- 重新认识GET吧!