译见 | 掌舵 Kubernetes:云原生时代的 Kubernetes 部署
容器提供了将应用程序及其依赖项与操作系统解耦的能力。因为其不同于虚拟机镜像打包操作系统的方式,容器可以节省大量的系统资源:计算、内存和磁盘空间。同时,容器还可以进行更快的下载、更新、部署和迭代。因 此,在技术领域上来说,容器技术引领了一场技术革命,并被谷歌、微软和亚马逊等大佬级公司采用。
同样,由容器技术引领的这场技术革命也带了激烈的竞争,来满足容器 的编排和管理的需求。而 Kubernetes 在这样的竞争中能成为领先的解决方案(包括 Amazon ECS 和 Docker Swarm),主要原因有三:
-
云原生设计:支持部署和运行下一代应用程序
-
开源生态:快速创新,避免供应商的独断
-
可移植性:无论是在云、内部、虚拟机中,都可以在任意的地方进行部署
下图便显示了 Kubernetes 在你的云原生部署中所发挥的作用:
请点击此处输入图片描述
如你所见,Kubernetes 可以部署和管理你的容器应用程序, 这其中包括了NGINX、MySQL、Apache 等等。它可以为容器提供配置、缩放、复制、监听等其他功能。
一旦你选择了容器编排平台之后, 下一步便是部署 Kubernetes。如前所述, Kubernetes 是一个可轻松迁移的解决方案。因为 Kubernetes 使用相同的镜像和配置, 所以它在你的笔记本电脑、云或内部的工作方式完全相同。
Kubernetes-as-a-Service
这些解决方案赋予了在各种基础架构中部署 Kubernetes 的能力: 公有云或内部设施。为 Kubernetes 集群选择此方法的优点有:
1.通过 KaaS 提供的程序进行升级、监听和支持
2.混合云或对多重云环境的轻松扩展
3.多个集群的单窗格视图
4.高可用性、多 Kubernetes 集群可根据工作负载自动放大和缩小
5.通用企业集成,如SSO /隔离命名空间;以及通过 Helm Chart 部署应用程序的能力
6.集群 Federation,在多个云或数据中心之间提供真正的无缝混合环境
托管基础架构
Google Cloud Platform 和 Microsoft Azure 分别通过 Google容器引擎(GKE)和 Azure Container Service(ACS)提供了Kubernetes 。将容器放在公有云中可进行快速启动,但你的数据将被放置在外围网络和防火墙之外。
Google 的 GKE 引领其他公有云供应商,它通过名为 Borg 的集群管理器,广泛地使用容器内部的项目,并拥有超过十年的经验。相比之下,微软的 ACS 是一个更为年轻的产品,而对于 Kubernetes 的支持也于在 2017 年 2 月才推出。然而,ACS 提供了灵活性:用户可以选择容器编排平台(Kubernetes,Docker Swarm,DCOS),以及除了 Linux 之外,可以在 Windows 上部署容器化应用程序。如下图所示,GKE 和 ACS 完全基于公有云,Kubernetes 的服务和基础架构由托管供应商部署和管理。
本地部署
Minikube 是在本地部署 Kubernetes 最流行的方式。它支持各种虚拟机管理程序,包括 VirtualBox,VMware Fusion,KVM 和 xhyve 以及 OS,包括 OSX,Windows 和 Linux。下图说明了 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: replicas: 1 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80 EOF # kubectl create -f example.yaml
本文转自掘金- 译见 | 掌舵 Kubernetes:云原生时代的 Kubernetes 部署
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Kubernetes中使用prometheus+alertmanager实现监控告警
监控告警原型图 原型图解释 prometheus与alertmanager作为container运行在同一个pods中并交由Deployment控制器管理,alertmanager默认开启9093端口,因为我们的prometheus与alertmanager是处于同一个pod中,所以prometheus直接使用localhost:9093就可以与alertmanager通信(用于发送告警通知),告警规则配置rules.yml以Configmap的形式挂载到prometheus容器供prometheus使用,告警通知对象配置也通过Configmap挂载到alertmanager容器供alertmanager使用,这里我们使用邮件接收告警通知,具体配置在alertmanager.yml中 测试环境 环境:Linux 3.10.0-693.el7.x86_64 x86_64 GNU/Linux 平台:Kubernetes v1.10.5Tips:prometheus与alertmanager完整的配置在文档末尾 创建告警规则 在prometheus中指定告警规则的路径, rules.yml就...
- 下一篇
构建生产环境可用的高可用kubernetes集群
构建生产环境可用的高可用kubernetes集群 | sealos项目地址 特性 [x] 支持任意节点的etcd集群自动构建,且etcd集群使用 安全证书,通过static pod方式启动,这样可以通过监控pod来监控etcd集群健康状态 [x] 支持多master节点,允许任意一台master宕机集群功能不受影响 [x] calico使用etcd集群,配置安全证书,网络管控数据无单点故障 [x] 包含dashboard, heapster coreDNS addons, coreDNS双副本,无单点故障 [x] 使用haproxy负载master节点,同样是用static pod,这样可通过统一监控pod状态来监控haproxy是否健康 [x] haproxy节点使用keepalived提供虚拟IP,任意一个节点宕机虚拟IP可实现漂移,不影响node连接master [x] node节点与kube-proxy配置使用虚拟IP [ ] 集群健康检测功能 [ ] promethus 监控功能,一键安装,无需配置 [ ] EFK 日志收集功能 [ ] 分布式HA模式,不用keepalive...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- CentOS关闭SELinux安全模块
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- SpringBoot2全家桶,快速入门学习开发网站教程
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- MySQL8.0.19开启GTID主从同步CentOS8
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2整合Redis,开启缓存,提高访问速度