摘要:
在K8S中,当我们试图通过API与集群资源交互时,必定经过集群资源管理对象入口kube-apiserver。显然不是随随便便来一个请求它都欢迎的,每个请求都需要经过合规检查,包括Authentication(身份验证)、Authorization(授权)和Admission Control(准入控制 阅读全文
摘要:
什么是service? Service是将运行在一组 Pods 上的应用程序公开为网络服务的抽象方法。 简单来说K8s提供了service对象来访问pod。我们在《k8s网络模型与集群通信》中也说过k8s集群中的每一个Pod(最小调度单位)都有自己的IP地址,都有IP了访问起来还不简单? 其实不然, 阅读全文
摘要:
K8s提供了多种外部数据注入容器的方式,今天我们主要学习环境变量、ConfigMap以及Secret的使用和配置。 环境变量 在docker项目中,对一个容器添加环境变量可以在容器创建时通过-e ENV=name方式加载。而k8s在创建 Pod 时,也提供了其下容器环境变量配置的能力。 我们可以通过 阅读全文
摘要:
k8s可以通过三种方式将集群内服务暴露到外网,分别是NodePort、LoadBalancer、Ingress,其中NodePort作为基础通信形式我们在《k8s网络模型与集群通信》中进行了介绍,这里我们主要关注LoadBalancer和Ingress LoadBalancer loadbalanc 阅读全文
摘要:
在k8s中,我们的应用会以pod的形式被调度到各个node节点上,在设计集群如何处理容器之间的网络时是一个不小的挑战,今天我们会从pod(应用)通信来展开关于k8s网络的讨论。 小作文包含如下内容: k8s网络模型与实现方案 pod内容器通信 pod与pod通信 pod与service通信 外网与s 阅读全文
摘要:
在Kubernetes 中通过创建工作负载资源 Job 可完成大型计算以及一些批处理任务。比如 Job 转码文件、获取部分文件和目录,机器学习中的训练任务等。这篇小作文我们一起来了解 k8s 中关于 job、cronjob 的内容。 Job创建 我们可以通过API版本 batch/v1创建出一个简单 阅读全文
摘要:
我们之前说k8s中使用deployment、statefulset工作负载资源来分别维护无状态和有状态应用。这篇小作文我们会学习如何使用DaemonSet来维护一个守护进程(应用) 阅读全文
摘要:
在k8s中工作负载资源StatefulSet用于管理有状态应用。 什么是无状态? 组成一个应用的pod是对等的,它们之前没有关联和依赖关系,不依赖外部存储。 即我们上篇小作文中deployment创建的nginx pod ,他们是完全一样的,任何一个pod 被移除后依然可以正常工作。由于不依赖外部存 阅读全文
摘要:
首先我们要理解:一个应用跑在k8s集群上了,那么这个应用就是一个工作负载(workloads)。 在k8s中会用pod的来承载这个应用,那么负责管理这个pod的东西就叫工作负载资源(workload resources)。 我们可以简单理解为是这样的: 工作负载资源又支持jj自定义或使用第三方资源, 阅读全文
摘要:
在学习k8s工作流程之前,我们得再次认识一下上篇k8s架构与组件详解中提到的kube-controller-manager一个k8s中许多控制器的进程的集合。 比如Deployment 控制器(DeploymentController)和 Job 控制器(JobController)是 Kubern 阅读全文