Kubernetes
文章平均质量分 95
贝克街的流浪猫
公众号: 贝贝猫技术分享
展开
-
JSON Web Token
引言本文由我的同事 @like 投稿,介绍了 JWT(JSON Web Token)是什么,以及它的一些应用场景。背景前段时间看 Kubernetes 认证相关的内容,发现如果 Pod 要和 API Server 交互,需要为该 Pod 创建 ServiceAccount 并绑定相应的角色。比如 Dashboard 的配置文件如下:# ------------------- Dashboard Service Account ------------------- #apiVersion: v原创 2021-04-04 12:36:41 · 213 阅读 · 0 评论 -
Kubernetes 简介
引言月初公司内云计算团队组织了一次 Workshop,介绍了一下如何使用他们的 Kubernetes 产品,并带着我们实践了一下。感觉 Kubernetes 相较于我们现在使用的部署模式,方便了很多,虽然我们现在的系统使用场景并不适合使用 Kubernetes,但是说不定以后就能用到它了,所以我就深入的研究了一下 Kubernetes 的使用和实现机理,希望能给大家带来帮助。本文作为 Kubernetes 系列文章的开篇,着重介绍一下 Kubernetes 是什么以及简单的使用方式。介绍背景在过去,原创 2021-04-02 09:09:33 · 383 阅读 · 0 评论 -
Kubernetes 常用功能
引言前面我们已经简单地介绍了 Kubernetes 是什么以及如何使用,本文我们将更加全面的介绍 Kubernetes 常用的资源(或者说其中定义的一些概念)。常用功能介绍上一章已经大致介绍了在 Kubernetes 中创建的基本组件,包括他们的基本功能概述。那么接下来我们将更加详细地介绍所有类型的 Kubernetes 功能(又称对象或资源),以便你理解在何时、如何及为何要使用每一个对象。Pod我们已经了解到,pod 是一组并置的容器,它是 Kubernetes 中的基本构建模块。在实际应用中我原创 2021-04-01 08:06:51 · 370 阅读 · 0 评论 -
Kubernetes 实现原理
引言前面我们已经简单地介绍了 Kubernetes 的常用资源,本文我们将介绍 Kubernetes 的实现方案。Kubernetes 实现原理现在我们已经知道了大多数可以部署到 Kubernetes 的资源,现在是时候了解下它们是怎么被实现的了。我们知道 Kubernetes 有两种节点,控制节点和工作节点。控制平面负责控制并使得整个集群正常运转,包括 etcd,API 服务器,调度器,控制器管理器,这些组件用来存储、 管理集群状态,但它们不是运行应用的容器。工作节点包括 kubelet,kube原创 2021-04-01 08:06:46 · 458 阅读 · 1 评论 -
Kubernetes 网络实现——Pod网络
引言前面我们已经介绍了 Kubernetes 的各方面实现方案,但是网络这块比较复杂,所以我们这里单独用来进行介绍,网络部分主要分 5 个部分,即 Pod 网络,Service 网络,外网通讯、LoadBalance、Ingress,本文介绍其中的第一个部分 Pod 网络。网络原理作为拓展,这里我们以 flannel 为例展开介绍一下 Kubernetes 内网络通讯的实现。在介绍之前,我们得先明确 Kubernetes 中的三种网络的概念:node network:承载 kubernetes原创 2021-04-01 08:06:41 · 1779 阅读 · 0 评论 -
Kubernetes 网络实现——Service网络
引言本文介绍 Kubernetes 网络中 Service 网路部分的实现方案。Service 网络service network 比较特殊,每个新创建的 service 会被分配一个 service IP,它实际上只是一个存在于 iptables 中的路由规则,并没有对应的虚拟网卡。还记得我们在试玩环节创建的 kubia service 吗?我们只要在集群中的任意机器查看 iptables 就能发现端倪,这里需要声明的是我当时在创建 Kubernetes 集群时指定的 PodSubnet 为 19原创 2021-04-01 08:06:36 · 867 阅读 · 0 评论 -
Kubernetes 网络实现——外网通讯
引言本文介绍 Kubernetes 网络中外网通讯、LoadBalance 以及 Ingress 部分的实现方案。与外网通讯到目前为止,我们已经清楚了 Kubernetes 集群内部的网络通讯原理,但是我们还没有讲清楚外部世界的网络怎么和我们的 Kubernetes service 交互。这包含两个部分,集群内的数据包怎么发送到外部网络,以及外部网络的数据包怎么流入 pod。以我现在使用的内部云服务为例,我的 Kubernetes 集群实际上运行在一个虚拟机上,这些虚拟机都被指定了一个内部 ip,原创 2021-04-01 08:06:31 · 464 阅读 · 0 评论 -
Kubernetes 高级特性
引言前面我们已经介绍了 Kubernetes 的常用资源以及 Kubernetes 的实现原理,本文我们将介绍 Kubernetes 中的一些高级资源以及其使用场景。高级特性自动扩容我们可以通过调高 ReplicationController、ReplicaSet、Deployment 等可伸缩资源的 replicas 字段,来手动实现 pod 中应用的横向扩容。我们也可以通过增加 pod 容器的资源请求和限制来纵向扩容 pod。虽然如果你能预先知道负载何时会飘升,或者如果负载的变化是较长时间内逐原创 2021-04-01 08:06:26 · 187 阅读 · 0 评论 -
Kubernetes 最佳实践
引言前面我们已经介绍了 Kubernetes 的常用资源以及 Kubernetes 的实现原理,本文我们将介绍通过 Kubernetes 开发应用的最佳实践。开发应用最佳实践首先,我们看一看一个实际的应用都应该使用哪些 Kubernetes 资源。一般应用 manifest 包含了一个或者多个 Deployment 和 StatefulSet 对象。这些对象中包含了一个或者多个容器的 pod 模板,每个容器都有一个存活探针,并且为容器提供的服务(如果有的话)提供就绪探针。提供服务的 pod 是通原创 2021-04-01 08:06:21 · 326 阅读 · 0 评论