kubernetes 入门_面向开发人员的入门级Kubernetes简介:什么是Kubernetes?

kubernetes 入门

就在几个月前,我有机会第一次接触到Kubernetes。 到目前为止,我所知道的只是确保容器化应用程序在集群中平稳运行的功能,除此之外,别无其他。 在完成“ hello world”并尝试了一些示例之后,我决定编写一系列博客文章,在这些文章中,我将尝试总结所有学习内容。

一个合理的警告–我仍然是Kubernetes的初学者,因此Kubernetes的高级从业者可能会发现我的帖子太基础了。 这也是促使我首先写这些帖子的原因。 我想在Kubernetes上为开发人员编写一系列适合初学者的文章,这些文章可以作为一个很好的起点。 我还决定将我的文章分成几小部分,以便初学者容易理解。

什么是Kubernetes?

如今,容器已成为包装应用的事实上的媒介。 越来越多的应用程序被容器化并部署到机器中。 将单个容器部署到虚拟机和/或物理机可能不是一个大问题,并且可能可行。 但是,当我们必须将数百个容器部署到很多机器上时,事情变得越来越复杂,同时要确保可伸缩性和可用性。

这是Kubernetes试图解决的问题。 它可以帮助我们自动化容器化应用程序的部署,管理和可伸缩性。 它是通过创建由物理和/或虚拟机组成的集群来实现的,这些集群能够运行容器化的应用程序。 当我们想使用Kubernetes部署应用程序时,我们告诉它映像的位置并指定一些其他配置(即资源,内存,配置等)。 然后,它负责其余的工作-获取图像,将它们部署到群集中的计算机上,并确保容器获得必要的资源。 它还监视群集的状态,并采取必要的步骤来确保可伸缩性和可用性。

我发现将Kubernetes看作是非常有帮助的
容器乐队的指挥,以及乐器演奏时的容器–

顺便说一下,这就是官方文档
定义Kubernetes

Kubernetes是一个可移植的,可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 它拥有一个庞大且快速增长的生态系统。 Kubernetes的服务,支持和工具广泛可用。

Kubernetes这个名字起源于希腊语,意思是舵手或飞行员。 Google在2014年开源了Kubernetes项目。Kubernetes依靠Google在大规模运行生产工作负载方面已有的十五年的经验,并结合了社区中最好的想法和实践。

在深入探讨Kubernetes的细节之前,让我们先谈谈声明式和命令式部署模型之间的区别。 了解这两种方法之间的差异有助于我了解Kubernetes所提供的好处。

声明式部署与命令式部署

当我将应用程序部署到计算机上时,到目前为止,我已经看到/采用的方法如下所示–

  1. 我分配了一个虚拟/物理机
  2. 我为计算机配置了所有必需的运行时和依赖项
  3. 我将应用程序部署到计算机上
  4. 我添加监视以确保当我的应用程序关闭时,我得到通知

我当然可以使用工具来自动化这些步骤。 但是,我仍然必须明确指定部署我的应用程序必须执行的操作。 如果在部署之后,其中一个应用程序实例运行不正常/被卡住,我必须自己用一个运行正常的实例替换它,最好执行一些简单的部署脚本。 这种部署样式通常称为命令式样式。

Kubernetes的工作方式略有不同。 我没有告诉它应该如何部署应用程序,而是将其指向了我的容器映像。 我还指定了应用程序所需的资源(CPU,内存),所需的运行实例数以及“正常”实例的定义。 一旦以“资源”定义的形式指定了它们,就将它们发送到Kubernetes集群。 一旦Kubernetes收到了这些资源定义,它就会处理其余的工作–将应用程序部署到集群中的机器上,确保正在运行所需数量的实例。 它还可以确保每个正在运行的实例具有所需的所有资源。 不仅如此,它还将继续监视部署状态。 如果由于某种不幸的原因,应用程序的任何实例死亡/卡住,它会自动采取必要的措施以确保始终保持应用程序的“所需状态”。 这种部署样式通常称为声明式样式,与命令式部署样式相比,它具有上述所有优点。

我希望本文提供了有关Kubernetes试图解决的问题的非常简短但仍然有些有用的概述。 在下一篇文章中,我们将讨论Pods,这是我上面刚刚提到的“资源”之一,它也是Kubernetes中部署的基本单位。

祝您阅读愉快!

翻译自: https://www.javacodegeeks.com/2020/02/a-beginner-friendly-introduction-to-kubernetes-for-developers-what-is-kubernetes.html

kubernetes 入门

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes is often documented and approached from the perspective of someone just running software already built. Kubernetes may also be used to enhance the development process itself, enabling more consistent testing and analysis of written code so that developers can verify not only correctness, but efficiency as well. This book will introduce the key concepts of Kubernetes, linked with examples of how to deploy and use those with a bit of NodeJS and Python example code, so that a reader could quickly replicate and use that knowledge themselves in their development process. You will begin by setting up Kubernetes for development and packaging your code to run in Kubernetes. It will walk you through the set up and installation process before working with Kubernetes in the development environment. We will then take a deep dive into concepts like automating your build process, autonomic computing, debugging, integration testing and so on. This book will cover all the necessary concepts required for any developer to work with Kubernetes. Towards the end of this book, we will be covering few security best practices which will secure the developer environment. By the end of this book, you will be in a position to use Kubernetes in the development ecosystem. What you will learn Build your software into containers. Deploy and debug those containers with Kubernetes. Define and add configuration through Kubernetes. Declare how your application fits together, using internal and external services. Add feedback in your code to help Kubernetes manage your services. Monitor, measure your services through integration testing and in production deployments.

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值