• 从.net开发做到云原生运维(五)——云原生时代绕不开的Kubernetes


    1. 前言

    前面的几篇文章主要是讲.net技术栈里的web开发技术,只是单纯的开发,从一个简单的项目到最后的打包成镜像进行分发。

    Kubernetes算是开启了一个新时代。

    2. Kubernetes

    2.1 什么是Kubernetes

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

    Kubernetes 这个名字源于希腊语,意为“舵手”或“飞行员”。k8s 这个缩写是因为 k 和 s 之间有八个字符的关系。 Google 在 2014 年开源了 Kubernetes 项目。Kubernetes 建立在 Google 在大规模运行生产工作负载方面拥有十几年的经验 的基础上,结合了社区中最好的想法和实践。

    kubernetes

    服务部署架构的演变。

    img

    上面的介绍在官方文档地址里是有的,我就不展开了,大家主要要理解容器编排的意思,清楚K8s的定位学起来才会很快。

    Kubernetes 是什么?

    2.2 Kubernetes的安装使用

    个人学习的话,我推荐使用Docker Desktop这个软件进行安装。因为我们既可以学习docker容器作为日常开发,也可以用程序里带的K8s进行学习。

    下面是参考文档。

    关于Kubernetes(简称K8S)的开启及基本使用,基于Docker Desktop & WSL2

    Docker Desktop for Mac/Windows 开启 Kubernetes

    3. Kubernetes和运维关系

    通过上面的一些文章我们也了解到了k8s是容器的编排系统。在云原生容器时代,服务已经和基础的硬件设施进行了隔离,容器可以做到一次打包到处运行,不用担心环境的问题。对于服务的管理也变成了对于容器的管理。

    K8s对于容器需要的一些基础设施也都进行了高度的抽象,可以说初始化好一个k8s集群,服务的上线过程完全不用和底层的系统打交道。

    以前的从物理机各种安装环境什么的在云原生时代算是可以省略了。容器在K8s里进行管理,那我们的运维自然也是在K8s之上进行操作了。

    4. 云原生时代的运维

    对于不同的云服务商都会提供对应的K8s集群,这些集群做了很多的优化,当然我们也可以采用物理机自己搭建K8s具体的就看场景需求了。

    微软 Azure Kubernetes 服务 (AKS)

    阿里 容器服务 ACK

    其他云服务商的搭建自行搜索吧,有了一个K8s环境我们就可以一步步将服务部署到集群了,服务的部署文件是yaml格式的配置,通过声明一些资源K8s就可以将服务跑起来。

    k8s涉及的一些概念的文档

    个人觉得基于K8s的运维虽然可以让服务更好的迭代更好的伸缩,但是相对来说技术门槛也比传统运维高了不少,需要运维人员对于技术的理解和K8s的一些概念的理解比较熟才行。

    持续的学习才是王道,要熟练掌握容器技术,熟练掌握K8s的设计理念。

    推荐两本书籍吧。
    Kubernetes in action

    docker技术入门与实战

  • 相关阅读:
    (转)三款Json查看小工具
    开源数据源
    关于异常
    java 线程池
    百度android面试及一些问题的讲解
    linux常用命令
    android activityManager
    Android ListView及其属性
    android listView与adapter
    android 反编译
  • 原文地址:https://www.cnblogs.com/GreenShade/p/15934151.html
Copyright © 2020-2023  润新知