译见 | 掌舵 Kubernetes:云原生时代的 Kubernetes 部署

简介: 容器提供了将应用程序及其依赖项与操作系统解耦的能力。因为其不同于虚拟机镜像打包操作系统的方式,容器可以节省大量的系统资源:计算、内存和磁盘空间。同时,容器还可以进行更快的下载、更新、部署和迭代。因此,在技术领域上来说,容器技术引领了一场技术革命,并被谷歌、微软和亚马逊等大佬级公司采用。

容器提供了将应用程序及其依赖项与操作系统解耦的能力。因为其不同于虚拟机镜像打包操作系统的方式,容器可以节省大量的系统资源:计算、内存和磁盘空间。同时,容器还可以进行更快的下载、更新、部署和迭代。因 此,在技术领域上来说,容器技术引领了一场技术革命,并被谷歌、微软和亚马逊等大佬级公司采用。

同样,由容器技术引领的这场技术革命也带了激烈的竞争,来满足容器 的编排和管理的需求。而 Kubernetes 在这样的竞争中能成为领先的解决方案(包括 Amazon ECS 和 Docker Swarm),主要原因有三:

  • 云原生设计:支持部署和运行下一代应用程序

  • 开源生态:快速创新,避免供应商的独断

  • 可移植性:无论是在云、内部、虚拟机中,都可以在任意的地方进行部署

下图便显示了 Kubernetes 在你的云原生部署中所发挥的作用:

37ca00028b9c7c8393fa

请点击此处输入图片描述

如你所见,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在多个云或数据中心之间提供真正的无缝混合环境

37c700028714eb81a6bb

托管基础架构

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 的服务和基础架构由托管供应商部署和管理。

37c70002891fc24208a9

本地部署

Minikube 是在本地部署 Kubernetes 最流行的方式。它支持各种虚拟机管理程序,包括 VirtualBox,VMware Fusion,KVM 和 xhyve 以及 OS,包括 OSX,Windows 和 Linux。下图说明了 Minikube 的部署:

37c70002882003e49843

如上所示,用户使用 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 部署
相关实践学习
容器服务Serverless版ACK Serverless 快速入门:在线魔方应用部署和监控
通过本实验,您将了解到容器服务Serverless版ACK Serverless 的基本产品能力,即可以实现快速部署一个在线魔方应用,并借助阿里云容器服务成熟的产品生态,实现在线应用的企业级监控,提升应用稳定性。
云原生实践公开课
课程大纲 开篇:如何学习并实践云原生技术 基础篇: 5 步上手 Kubernetes 进阶篇:生产环境下的 K8s 实践 相关的阿里云产品:容器服务&nbsp;ACK 容器服务&nbsp;Kubernetes&nbsp;版(简称&nbsp;ACK)提供高性能可伸缩的容器应用管理能力,支持企业级容器化应用的全生命周期管理。整合阿里云虚拟化、存储、网络和安全能力,打造云端最佳容器化应用运行环境。 了解产品详情:&nbsp;https://www.aliyun.com/product/kubernetes
相关文章
|
26天前
|
Kubernetes 网络协议 应用服务中间件
K8S二进制部署实践-1.15.5
K8S二进制部署实践-1.15.5
34 0
|
2月前
|
运维
计算巢如何使用fluxcd在ack部署helm chart
为支持helm服务运维管理功能,现在改用fluxcd的方式进行helm chart部署,这里计算巢对fluxcd进行部署helm chart的过程进行了封装,封装成了ROS公共模块MODULE::ACS::ComputeNest::FluxOciHelmDeploy,下面将主要介绍下怎么使用这个模块在计算巢中进行Helm Chart的部署。
36 3
|
28天前
|
Kubernetes 流计算 Perl
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的
在Rancher K8s上部署Flink时,TaskManager连接不上并不断重启可能是由多种原因导致的
34 7
|
12天前
|
Kubernetes 监控 Cloud Native
构建高效云原生应用:基于Kubernetes的微服务治理实践
【4月更文挑战第13天】 在当今数字化转型的浪潮中,企业纷纷将目光投向了云原生技术以支持其业务敏捷性和可扩展性。本文深入探讨了利用Kubernetes作为容器编排平台,实现微服务架构的有效治理,旨在为开发者和运维团队提供一套优化策略,以确保云原生应用的高性能和稳定性。通过分析微服务设计原则、Kubernetes的核心组件以及实际案例,本文揭示了在多变的业务需求下,如何确保系统的高可用性、弹性和安全性。
16 4
|
11天前
|
Kubernetes 搜索推荐 Docker
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
使用 kubeadm 部署 Kubernetes 集群(二)k8s环境安装
53 17
|
23天前
|
Kubernetes Ubuntu 应用服务中间件
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
Ubuntu 22.04 利用kubeadm方式部署Kubernetes(v1.28.2版本)
98 0
|
26天前
|
人工智能 监控 Serverless
如何基于ACK Serverless快速部署AI推理服务
通过上述步骤,可以在ACK Serverless上快速部署AI推理服务,实现高可用、弹性扩展的服务架构。
19 1
|
1月前
|
Kubernetes Cloud Native Docker
【云原生】kubeadm快速搭建K8s集群Kubernetes1.19.0
Kubernetes 是一个开源平台,用于管理容器化工作负载和服务,提供声明式配置和自动化。源自 Google 的大规模运维经验,它拥有广泛的生态支持。本文档详细介绍了 Kubernetes 集群的搭建过程,包括服务器配置、Docker 和 Kubernetes 组件的安装,以及 Master 和 Node 的部署。此外,还提到了使用 Calico 作为 CNI 网络插件,并提供了集群功能的测试步骤。
219 0
|
1月前
|
Kubernetes Java Nacos
nacos常见问题之k8s上部署需要自动扩缩容如何解决
Nacos是阿里云开源的服务发现和配置管理平台,用于构建动态微服务应用架构;本汇总针对Nacos在实际应用中用户常遇到的问题进行了归纳和解答,旨在帮助开发者和运维人员高效解决使用Nacos时的各类疑难杂症。
33 0
|
1月前
|
Kubernetes Cloud Native Devops
云原生技术落地实现之二KubeSphere DevOps 系统在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD (2/2)
云原生技术落地实现之二KubeSphere DevOps 系统在 Kubernetes 集群上实现springboot项目的自动部署和管理 CI/CD (2/2)
51 1

推荐镜像

更多