摘要: 服务部署与迁移示例 一、服务部署与迁移示例 1、简单的部署 wordpress 通过 mysql 与 wordpress 镜像包部署持久化的 wordpress 博客网站 1.1、创建 PV cat lnmp-pv.yaml apiVersion: v1 kind: PersistentVolume 阅读全文
posted @ 2022-07-10 20:15 xiaohaoge 阅读(42) 评论(0) 推荐(0)
摘要: 服务部署与迁移的步骤 一、服务部署与迁移的步骤 1.1、将应用封装进容器 应用容器化是部署与迁移的第一步,需要设计并规划好镜像的构建方案,由于Docker镜像分层的特性,通常建议使用分层方式进行Docker镜像构建。 ​操作系统层:制作公司常用的系统版本如CentOS、Ubuntu,可以在官方镜像的 阅读全文
posted @ 2022-07-10 20:10 xiaohaoge 阅读(165) 评论(0) 推荐(0)
摘要: Kubernetes NameSpace 介绍 Kubernetes使用命名空间的概念帮助解决集群中在管理对象时的复杂性问题。命名空间允许将对象分组到一起,便于将它们作为一个单元进行筛选和控制。无论是应用自定义的访问控制策略,还是为了测试环境而分离所有组件,命名空间都是一个按照组来处理对象、强大且灵 阅读全文
posted @ 2022-07-10 20:09 xiaohaoge 阅读(138) 评论(0) 推荐(0)
摘要: Kubernetes 证书介绍 一、证书机制说明 Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server 是集群内部各个组件通信的中介,也是外部控制的入口。所以 Kubernetes 的安全机制基本就是围绕保护 API Server 来设计的,K 阅读全文
posted @ 2022-07-10 20:08 xiaohaoge 阅读(189) 评论(0) 推荐(0)
摘要: 通过HPA实现业务应用的动态扩缩容 HPA控制器介绍 当系统资源过高的时候,我们可以使用如下命令来实现 Pod 的扩缩容功能 $ kubectl -n luffy scale deployment myblog --replicas=2 但是这个过程是手动操作的。在实际项目中,我们需要做到是的是一个 阅读全文
posted @ 2022-07-10 20:06 xiaohaoge 阅读(516) 评论(0) 推荐(0)
摘要: Kubernetes集群的网络实现 CNI介绍及集群网络选型 容器网络接口(Container Network Interface),实现kubernetes集群的Pod网络通信及管理。包括: CNI Plugin负责给容器配置网络,它包括两个基本的接口: 配置网络: AddNetwork(net 阅读全文
posted @ 2022-07-10 19:58 xiaohaoge 阅读(221) 评论(0) 推荐(0)
摘要: Kubernetes 网络介绍 Service是Kubernetes的核心概念,通过创建Service,可以为一组具有相同功能的容器应用提供一个统一的入口地址,并且将请求负载分发到后端的各个容器应用上。 Kubernetes 的网络模型假定了所有 Pod 都在一个可以直接连通的扁平的网络空间中,这在 阅读全文
posted @ 2022-07-10 19:57 xiaohaoge 阅读(96) 评论(0) 推荐(0)
摘要: 集群安全介绍 一、机制说明 ​ Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server 是集群内部各个组件通信的中介,也是外部控制的入口。所以 Kubernetes 的安全机制基本就是围绕保护 API Server 来设计的,Kubernetes 阅读全文
posted @ 2022-07-10 19:55 xiaohaoge 阅读(75) 评论(0) 推荐(0)
摘要: # 创建一个chart范例 helm create HELM-NAME # 检查chart语法 helm lint ./HELM-NAME # 使用默认chart部署到k8s helm install --name RELEASE-NAME ./HELM-NAME --set service.typ 阅读全文
posted @ 2022-07-10 19:54 xiaohaoge 阅读(249) 评论(0) 推荐(0)
摘要: 使用Helm3管理复杂应用的部署 认识Helm 为什么有helm? Helm是什么? kubernetes的包管理器,“可以将Helm看作Linux系统下的apt-get/yum”。 对于应用发布者而言,可以通过Helm打包应用,管理应用依赖关系,管理应用版本并发布应用到软件仓库。 对于使用者而言, 阅读全文
posted @ 2022-07-10 19:52 xiaohaoge 阅读(437) 评论(0) 推荐(0)
摘要: 授权、鉴权与准入控制 认证过程,只是确认通信的双方都确认了对方是可信的,可以相互通信。而鉴权是确定请求方有哪些资源的权限。API Server 目前支持以下几种授权策略 (通过 API Server 的启动参数 “–authorization-mode” 设置) ​1、AlwaysDeny:表示拒绝 阅读全文
posted @ 2022-07-10 19:49 xiaohaoge 阅读(282) 评论(0) 推荐(0)
摘要: StatefulSet资源控制器 一、statefulset介绍 StatefulSet 是为了解决有状态服务的问题而设计的资源控制器。 匹配 Pod name ( 网络标识 ) 的模式为:(statefulset名称)-​(序号),比如上面的示例:web-0,web-1,web-2 Statefu 阅读全文
posted @ 2022-07-10 19:44 xiaohaoge 阅读(96) 评论(0) 推荐(0)
摘要: kubernetes对接分部式存储 PV与PVC快速入门 k8s存储的目的就是保证Pod重建后,数据不丢失。简单的数据持久化的下述方式: emptyDir apiVersion: v1 kind: Pod metadata: name: test-pod spec: containers: - im 阅读全文
posted @ 2022-07-10 19:41 xiaohaoge 阅读(166) 评论(0) 推荐(0)
摘要: PV 与 PVC介绍 一、概念介绍 ​PersistentVolume (PV) 是由管理员设置的存储,它是群集的一部分。就像节点是集群中的资源一样,PV 也是集群中的资源。 PV 是Volume 之类的卷插件,但具有独立于使用 PV 的 Pod 的生命周期。此 API 对象包含存储实现的细节,即 阅读全文
posted @ 2022-07-10 18:45 xiaohaoge 阅读(1019) 评论(0) 推荐(0)
摘要: Pod 的 Service 介绍 一、Service 介绍 Kubernetes Service 定义了这样一种抽象: 一个 Pod 的逻辑分组,一种可以访问它们的策略,通常称为微服务。 这一组 Pod 能够被 Service 访问到,通常是通过 Label Selector 。 ​Service能 阅读全文
posted @ 2022-07-10 18:43 xiaohaoge 阅读(323) 评论(0) 推荐(0)
摘要: Pod 的存储之volume ​容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在Pod 中同时运行多个容器时,这些容器之间通常需要共享文件。K 阅读全文
posted @ 2022-07-10 18:41 xiaohaoge 阅读(218) 评论(0) 推荐(0)
摘要: Pod 的存储之Secret 一、Secret 存在意义 ​Secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec中。Secret 可以以 Volume 或者环境变量的方式使用。 Secret 有三种类型: ​Service Accou 阅读全文
posted @ 2022-07-10 18:09 xiaohaoge 阅读(123) 评论(0) 推荐(0)
摘要: Pod 的存储之Configmap 一、Configmap介绍 ​ConfigMap 功能在 Kubernetes1.2 版本中引入,许多应用程序会从配置文件、命令行参数或环境变量中读取配置信息。ConfigMap API 给我们提供了向容器中注入配置信息的机制,ConfigMap 可以被用来保存单 阅读全文
posted @ 2022-07-10 18:06 xiaohaoge 阅读(110) 评论(0) 推荐(0)
摘要: Service Ingress Ingress-Nginx github 地址:https://github.com/kubernetes/ingress-nginx Ingress-Nginx 官方网站:https://kubernetes.github.io/ingress-nginx 部署 I 阅读全文
posted @ 2022-07-10 18:02 xiaohaoge 阅读(78) 评论(0) 推荐(0)
摘要: Service 的应用 ClusterIP ​clusterIP 主要在每个 node 节点使用 ipvs,将发向 clusterIP 对应端口的数据,转发到 kube-proxy 中。然后 kube-proxy 自己内部实现有负载均衡的方法,并可以查询到这个 service 下对应 pod 的地址 阅读全文
posted @ 2022-07-10 17:57 xiaohaoge 阅读(60) 评论(0) 推荐(0)
摘要: Job 与 Cronjob 一、Job ​Job 负责批处理任务,即仅执行一次的任务,它保证批处理任务的一个或多个 Pod 成功结束。 特殊说明: 1、spec.template 格式同 Pod ​2、RestartPolicy 仅支持 Never 或 OnFailure ​3、单个 Pod 时,默 阅读全文
posted @ 2022-07-10 17:54 xiaohaoge 阅读(102) 评论(0) 推荐(0)
摘要: 资源控制器之DaemonSet DaemonSet 确保全部(或者一些) Node上运行一个 Pod 的副本,当有 Node 加入集群时,也会为他们新增一个 Pod,当有 Node 从集群移除时,这些 Pod 也会被回收。删除 DaemonSet 将会删除它创建的所有 Pod 。 DaemonSet 阅读全文
posted @ 2022-07-10 17:52 xiaohaoge 阅读(50) 评论(0) 推荐(0)
摘要: 资源控制器之Deployment Deployment 为 Pod 和 ReplicaSet 提供了一个声明式定义(declarative)方法,用来替代以前的ReplicationController 来方便的管理应用。典型的应用场景包括: ​- 定义 Deployment 来创建 Pod 和 R 阅读全文
posted @ 2022-07-10 17:50 xiaohaoge 阅读(134) 评论(0) 推荐(0)
摘要: RC (ReplicationController )主要的作用就是用来确保容器应用的副本数始终保持在用户定义的副本数 。即如果有容器异常退出,会自动创建新的 Pod 来替代;而如果异常多出来的容器也会自动回收(已经成为过去时)。 ​Kubernetes 官方建议使用 RS(ReplicaSet ) 阅读全文
posted @ 2022-07-10 17:49 xiaohaoge 阅读(227) 评论(0) 推荐(0)
摘要: Pod 的资源控制器类型 一、Pod 的资源控制器类型 什么是控制器呢?简单来说,控制器就好比是影视剧里面的剧本,演员会根据剧本所写的内容来针对不同的角色进行演绎,而我们的控制器就好比是剧本,Kubernetes 会根据我们所定义的规则,或者是按照我们写好的 “剧本” 来完成创建我们的 Pod 。 阅读全文
posted @ 2022-07-10 17:47 xiaohaoge 阅读(65) 评论(0) 推荐(0)
摘要: Pod 的 NameSpace 一、Pod 的 NameSpace 使用 kubectl 管理命名空间及其包含的资源相当简单。在这一节中,我们将演示一些最常见的命名空间操作,便于你开始有效地分割资源。 在我们进行创建命名空间之前,先说一下 Kubernetes 是如何自动设置它的,在默认情况下,新的 阅读全文
posted @ 2022-07-10 17:44 xiaohaoge 阅读(318) 评论(0) 推荐(0)
摘要: Pod 的健康检查-探针 一、Pod 的健康检查-探针 1.1、探针基本概念 ​探针是由 kubelet 对容器执行的定期诊断。要执行诊断,kubelet 调用由容器实现的 Handler 有三种类型的处理程序: ​1、ExecAction: 在容器内执行指定命令。如果命令退出时返回码为0则认为诊断 阅读全文
posted @ 2022-07-10 17:42 xiaohaoge 阅读(436) 评论(0) 推荐(0)
摘要: Pod 的 init Containers Pod 我们可以分为两类,一种属于自主式 Pod ,还有一种属于控制器管理的 Pod 。 一、Pod 的 initContainers 基本概念: ​Pod能够具有多个容器,应用运行在容器里面,但是它也可能有一个或多个先于应用容器启动的Init容器,Ini 阅读全文
posted @ 2022-07-10 17:36 xiaohaoge 阅读(402) 评论(0) 推荐(0)
摘要: 为了方便在命令行下对集群、节点、pod进行管理,kubernetes官方提供了一个管理命令:kubectl kubectl作为客户端CLI工具,可以让用户通过命令行对Kubernetes集群进行操作。 一、kubectl介绍 kubectl命令行的语法: kubectl [command] [TYP 阅读全文
posted @ 2022-07-10 17:34 xiaohaoge 阅读(158) 评论(0) 推荐(0)
摘要: 指定pod运行在固定节点 一、指定固定节点:Pod.spec.nodeName Pod.spec.nodeName 将 Pod 直接调度到指定的 Node 节点上,会跳过 Scheduler 的调度策略,该匹配规则是强制匹配: vim node-1.yaml apiVersion: apps/v1 阅读全文
posted @ 2022-07-10 17:32 xiaohaoge 阅读(418) 评论(0) 推荐(0)
摘要: Kubernetes污点和容忍 一、Taint 和 Toleration介绍 节点亲和性,是 pod 的一种属性(偏好或硬性要求),它使 pod 被吸引到一类特定的节点。Taint 则相反,它使节点能够排斥一类特定的pod,Taint 和 toleration 相互配合,可以用来避免 pod 被分配 阅读全文
posted @ 2022-07-10 17:29 xiaohaoge 阅读(179) 评论(0) 推荐(0)
摘要: Kubernetes节点与 Pod 亲和性 一、节点亲和性策略介绍 ​pod.spec.nodeAffinity preferredDuringSchedulingIgnoredDuringExecution:软策略 requiredDuringSchedulingIgnoredDuringExec 阅读全文
posted @ 2022-07-10 17:26 xiaohaoge 阅读(273) 评论(0) 推荐(0)
摘要: Kubernetes节点与令牌管理 一、令牌管理 Kubernetes 的令牌一般指的是访问 Kubernetes API 的令牌,也称为 bearer token,用于进行身份验证和授权。这些令牌可以用于访问 Kubernetes API Server,也可以用于访问 Kubernetes Das 阅读全文
posted @ 2022-07-10 17:22 xiaohaoge 阅读(635) 评论(0) 推荐(0)
摘要: 一、什么是镜像 镜像可以看成是由多个镜像层叠加起来的一个文件系统(通过UnionFS与AUFS文件联合系统实现),镜像层也可以简单理解为一个基本的镜像,而每个镜像层之间通过指针的形式进行叠加。 根据上图,镜像层的主要组成部分包括镜像层 ID、镜像层指针 「指向父层」、元数据「 Layer Metad 阅读全文
posted @ 2022-07-10 17:09 xiaohaoge 阅读(121) 评论(0) 推荐(0)