参加了 edX 的 Kubernetes 入门课程

简而言之

受講了Kubernetes入门课的故事。
内容非常清晰简洁,对于即将开始学习该课程或者想要重新理解整体框架的人来说,我认为参与学习是一件好事。

受讲之前的知识水平 ch: 开课前的知识水平

如下所述,对于Kubernetes的基本概念,如部署、服务、Pod等,我有一定的了解。

    • minikubeのインストールしたことある

 

    • docker-compose.yaml を kompose を使って k8s用のyamlに変換して設定ファイルを作成

 

    kubectl コマンドでコンテナをデプロイしたり削除したりした

关于课程

LinuxFoundation提供的kubernetes入门教材可以在手机应用上免费学习,教材包括文章和视频都是用英语讲解的(如果要获得考试和证书则需要支付费用)。学习过程中不需要准备开发环境,只需要阅读和学习即可。每周投入2到3小时的时间,大约2个月就能完成,如果专注学习,可能只需要2到3天就能结束。预计学习时长大概为3个月。

这是在2018年2月创建的,基于1.9版本编写。(截至2019年2月28日,最新版本为1.12.6)

目录

为了让您掌握学习范围,我将仅列出目录。它从容器的讨论开始,然后简明地解释了Kubernetes的架构和组件。

    • Chapter 1. Container Orchestration

 

    • Chapter 2. Kubernetes

 

    • Chapter 3. Kubernetes Architecture

 

    • Chapter 4. Installing Kubernetes

 

    • Chapter 5. Setting Up a Single-Node Kubernetes Cluster with Minikube

 

    • Chapter 6. Accessing Minikube

 

    • Chapter 7. Kubernetes Building Blocks

 

    • Chapter 8. Authentication, Authorization, Admission Control

 

    • Chapter 9. Services

 

    • Chapter 10. Deploying a Stand-Alone Application

 

    • Chapter 11. Kubernetes Volume Management

 

    • Chapter 12. Deploying a Multi-Tier Application

 

    • Chapter 13. ConfigMaps and Secrets

 

    • Chapter 14. Ingress

 

    • Chapter 15. Advanced Topics – Overview

 

    Chapter 16. Kubernetes Community

几个要点

ReplicationControllers和ReplicaSets之间的区别是什么?

ReplicaSet(rs)是下一代的ReplicationController。ReplicaSets支持相等性和集合型选择器,而ReplicationControllers只支持相等性选择器。目前,这是唯一的区别。

工作

一个Job创建一个或多个Pod来执行给定的任务。
Job对象负责处理Pod的故障。
它确保给定的任务成功完成。
任务结束后,所有Pod都会被自动终止。

从 Kubernetes 1.4 版本开始,我们可以在指定的时间/日期执行作业,如 cron 作业。

配额管理 é

当有许多用户共享一个给定的Kubernetes集群时,总会存在公平使用的担忧。
用户不应该过分占据优势。
为了解决这个问题,管理员可以使用ResourceQuota对象,
该对象提供了限制每个命名空间的资源消耗的约束。

我们可以在命名空间中有以下类型的配额。

    • Compute Resource Quota

 

    • We can limit the total sum of compute resources (CPU, memory, etc.) that can be requested in a given Namespace.

 

    • Storage Resource Quota

 

    • We can limit the total sum of storage resources (PersistentVolumeClaims, requests.storage, etc.) that can be requested.

 

    • Object Count Quota

 

    We can restrict the number of objects of a given type (pods, ConfigMaps, PersistentVolumeClaims, ReplicationControllers, Services, Secrets, etc.).

监控和日志记录

在Kubernetes中,我们需要通过Pod、Service、节点等收集资源使用数据,以了解整体资源消耗情况并为扩展给定应用程序做出决策。
两个流行的Kubernetes监控解决方案是Heapster和Prometheus。

    • Heapster

 

    • Heapster is a cluster-wide aggregator of monitoring and event data, which is natively supported on Kubernetes.

 

    • Prometheus

 

    Prometheus, now part of CNCF (Cloud Native Computing Foundation), can also be used to scrape the resource usage from different Kubernetes components and objects. Using its client libraries, we can also instrument the code of our application.

在故障排除和调试中,另一个重要方面是日志记录,我们通过收集给定系统的不同组件的日志来进行操作。在Kubernetes中,我们可以从不同集群组件、对象、节点等收集日志。
收集日志的最常见方式是使用Elasticsearch,在节点上作为代理使用带有自定义配置的fluentd。fluentd是一个开源的数据收集器,也是CNCF的一部分。

授课图像

有两种方式可以学习,一种是在电脑上进行,另一种是使用手机应用。不论选择哪种方式进行学习,学习进度都会同步,这是理所当然的,但也令人感激。唯一有点麻烦的是,在选择文字进行翻译时,edX的备忘功能会干扰。

浏览器

スクリーンショット 2019-02-28 23.02.11.png

iPhone 应用程式

IMG_4275.PNG

总结

自己搭建学习环境并边动手实践也是不错的选择。
由于Kubernetes的文档也非常详细,阅读并进一步推进学习也是一种不错的方法。

但是,我觉得这种教材在系统学习上很易懂,感觉非常好。

广告
将在 10 秒后关闭
bannerAds