Kubernetes
文章平均质量分 85
Hud.
Fear is not real...
展开
-
Kubernetes集群负载预测及伸缩策略
它有三个值,其中 S 表示 season,也就是它的周期,周期模拟的方式等同于傅立叶级数,就是通过 N 个三角函数叠到一起,它就能模拟不同的周期函数。CA 基于 Group 的能力,它可以根据需求在云厂商上自动扩展物理节点,通过 API 获取 Node Group 原信息,并知道 Node Group 里机器的型号,以此构造一个虚拟的 Node,比如说一个 4G 或 8G 的机器。,因为它没有输入 Pod,它只与时间相关,所以虽然大部分情况下它的效果都不错,但在突发的那条高线上,它还是无法满足我们的需求。转载 2022-10-13 10:40:21 · 650 阅读 · 1 评论 -
golang-浅析mutex
当程序中有一部分代码会出现并发访问或者修改的情况,需要采取特殊手段将这部分代码保护起来以免出现数据错乱的问题,这部分被保护起来的代码叫做临界区,例如对数据库的修改访问,对全局共享资源的访问修改 。这里没有给出上下文,但是抛出了一个问题,第2行代码co...转载 2022-07-08 14:21:18 · 276 阅读 · 0 评论 -
Kubernetes--安全认证
1、 访问控制概述Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。所谓的安全性其实就是保证对Kubernetes的各种**客户端**进行**认证和鉴权**操作。客户端在Kubernetes集群中,客户端通常有两类:● User Account:一般是独立于kubernetes之外的其他服务管理的用户账号。● Service Account:kubernetes管理的账号,用于为Pod中的服务进程在访问Kubernetes时提供身份标识...原创 2022-05-07 19:03:17 · 216 阅读 · 0 评论 -
Kubernetes--数据存储
1、基础概念在前面已经提到,容器的生命周期可能很短,会被频繁地创建和销毁。那么容器在销毁时,保存在容器中的数据也会被清除。这种结果对用户来说,在某些情况下是不乐意看到的。为了持久化保存容器的数据,kubernetes引入了Volume的概念。Volume是Pod中能够被多个容器访问的共享目录,它被定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下,kubernetes通过Volume实现同一个Pod中不同容器之间的数据共享以及数据的持久化存储。Volu...转载 2022-05-01 20:09:16 · 324 阅读 · 0 评论 -
Kubernetes--Ingress详解
在前面课程中已经提到,Service对集群之外暴露服务的主要方式有两种:NotePort和LoadBalancer,但是这两种方式,都有一定的缺点:● NodePort方式的缺点是会占用很多集群机器的端口,那么当集群服务变多的时候,这个缺点就愈发明显● LB方式的缺点是每个service需要一个LB,浪费、麻烦,并且需要kubernetes之外设备的支持基于这种现状,kubernetes提供了Ingress资源对象,Ingress只需要一个NodePort或者一个LB就可以满足暴...原创 2022-04-27 16:00:12 · 1297 阅读 · 0 评论 -
Kubernetes--Service详解
在kubernetes中,pod是应用程序的载体,我们可以通过pod的ip来访问应用程序,但是pod的ip地址不是固定的,这也就意味着不方便直接采用pod的ip对服务进行访问。为了解决这个问题,kubernetes提供了Service资源,Service会对提供同一个服务的多个pod进行聚合,并且提供一个统一的入口地址。通过访问Service的入口地址就能访问到后面的pod服务。Service在很多情况下只是一个概念,真正起作用的其实是kube-proxy服务进程,每个Node节点上都运行.原创 2022-04-26 16:44:51 · 790 阅读 · 0 评论 -
Kubernetes--有状态应用编排:StatefulSet
Deployment认为:管理的所有同版本的pod都是一模一样的副本StatefulSet能够比较好的满足一些有状态应用特有的要求:1、每个Pod有Order序号,会按照序号创建、删除、更新pod2、通过配置headless service,使每个pod有唯一的网络标识(HOSTNAME)3、通过配置pvc template,每个pod有一块独享的pv存储盘4、支持一定数量的灰度发布一个简单的Statefulset范例创建# 创建service.yamlapiVersion:原创 2022-04-23 10:31:03 · 4341 阅读 · 0 评论 -
Kubernetes--Pod控制器:DaemonSet、Job&CronJob
1、Daemon控制器DaemonSet类型的控制器可以保证在集群中的每一台(或指定)节点上都运行一个副本。一般适用于日志收集、节点监控等场景。也就是说,如果一个Pod提供的功能是节点级别的(每个节点都需要且只需要一个),那么这类Pod就适合使用DaemonSet类型的控制器创建。DaemonSet控制器的特点:● 每当向集群中添加一个节点时,指定的 Pod 副本也将添加到该节点上● 当节点从集群中移除时,Pod 也就被垃圾回收了来看看...原创 2022-04-22 16:15:37 · 242 阅读 · 0 评论 -
Kubernetes--Pod控制器:Horizontal Pod Autoscaler(HPA)
在前面的课程中,我们已经可以实现通过手工执行`kubectl scale`命令实现Pod扩容或缩容,但是这显然不符合Kubernetes的定位目标--自动化、智能化。 Kubernetes期望可以实现通过监测Pod的使用情况,实现pod数量的自动调整,于是就产生了Horizontal Pod Autoscaler(HPA)这种控制器。HPA可以获取每个Pod利用率,然后和HPA中定义的指标进行对比,同时计算出需要伸缩的具体值,最后实现Pod的数量的调整。其实HPA与之前的Deployme...原创 2022-04-22 14:10:09 · 371 阅读 · 0 评论 -
Kubernetes--Pod控制器:ReplicaSet&Deployment
1、Pod控制器的介绍在kubernetes中,按照pod的创建方式可以将其分为两类:● 自主式pod:kubernetes直接创建出来的pod,这种pod删除后就没有了,也不会重建● 控制器创建的pod:通过控制器创建的pod,这种pod删除了之后还会自动重建★什么是Pod控制器★Pod控制器是管理pod的中间层,使用了pod控制器之后,我们只需要告诉pod控制器,想要多少个什么样的pod就可以了,它就会创建出满足条件的pod并确保每一个pod处于用户期望的状态,如果pod在运行中出现原创 2022-04-20 18:07:26 · 357 阅读 · 0 评论 -
Kubernetes--Pod的调度
在默认情况下,一个pod在哪个Node节点上运行,是由Scheduler组件采用相应的算法计算出来的,这个过程是不受人工控制的。但是在实际的使用过程当中,这并不能满足需求,因为在很多情况下,我们想控制某些Pod到某些节点上,那么应该怎么做呢?这就要求了解Kubernetes对于Pod的调度规则,Kubernetes提供了四大类的调度方式● 自动调度:运行在哪个节点上完全由Scheduler经过一系列的计算得出● 定向调度:NodeName,NodeS...原创 2022-04-17 20:30:21 · 1550 阅读 · 0 评论 -
Kubernetes——Pod生命周期
我们一般将pod对象从创建至终的这段时间范围称为pod的生命周期,他主要包括下面的过程:● pod创建过程● 运行初始化容器(init container)原创 2022-04-16 19:01:07 · 913 阅读 · 0 评论 -
Kubernetes中Pod详解——环境变量、端口和资源配额
1、环境变量:env还是老样子,用一个老的yaml文件先看看这个环境变量env的使用方法和格式apiVersion: v1kind: Podmetadata: name: pod-env namespace: dev labels: user: Hud98 spec: containers: - name: busybox image: busybox:1.30 command原创 2022-04-12 18:59:10 · 4135 阅读 · 0 评论 -
Kubernetes中Pod详解——镜像拉取策略和启动命令
主要研究pod、spec、containers属性,这是pod配置中最为关键的一项配置[root@master ~]# kubectl explain pod.spec.containersKIND: PodVERSION: v1RESOURCE: containers <[]Object> #数组,代表可以有多个容器FIELDS: name <string> #容器名称 image <strin原创 2022-04-11 17:14:51 · 5285 阅读 · 0 评论 -
Kubernetes实战入门
通过本篇文章记录如何在Kubernetes集群中部署一个nginx服务,并且能够对其进行访问1、Namespace Namespace是Kubernetes系统中的一种非常重要的资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离 默认情况下,Kubernetes集群中的所有Pod都是可以相互访问的,但是我们再实际过程中很可能不想让两个Pod之间进行相互的访问,那么此时就可以将两个Pod划分到不同的namespace下。Kubernetes通过将集群内部的...原创 2022-04-10 20:53:38 · 1302 阅读 · 0 评论 -
Kubernetes资源管理
1、资源管理介绍在Kubernetes中,所有的内容都抽象为资源,用户需要通过操作资源来管理Kubernetes。 Kubernetes的本质上就是一个集群系统,用户可以在集群中部署各种服务,所谓的部署服务,就是在Kubernetes集群中运行一个个的容器,并将指定的程序跑在容器里。 Kubernetes的最小管理单元是pod而不是容器,所以只能将容器放在pod中,而Kubernetes一般也不会直接管理Pod,而是通过Pod控制器来管理pod的。 Pod可以...原创 2022-04-06 21:47:11 · 479 阅读 · 0 评论 -
kubernetes环境搭建&集群安装
1、安装Docker这些个步骤我在之前的docker笔记中都有过记录,但是,温故是好事,再来动手做一遍1.1 安装gcc环境:yum -y install gccyum -y install gcc- c++1.2 更换镜像源yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo更新yum软件包索引:$ yum makecache fast原创 2022-04-04 17:46:42 · 3284 阅读 · 0 评论 -
K8S中的Pod概念和网络通讯方式+集群安装准备
在一个Pod中,可能有一个或多个容器。只要有Pod,就会启动Pause这个容器,Pod中的容器会共用这个pause的网络栈和存储卷。也就是说这两个容器没有自己独立的Ip地址,有的是这个pod的地址。...原创 2022-04-02 15:09:42 · 1516 阅读 · 0 评论 -
Kubernetes集群架构组件
一个Kubernetes集群首先需要包含两个部分 :● master(主控节点)和node(工作节点)原创 2022-03-31 10:30:19 · 305 阅读 · 0 评论 -
Kubernetes概述
1、kubernetes基本介绍。 kubernetes,简称K8s,是用8代替8个字符“ubernete”而成的缩写。是一个开源的,用于管理云平台中多个主机上的容器化的应用,Kubernetes的目标是让部署容器化的应用简单并且高效(powerful),Kubernetes提供了应用部署,规划,更新,维护的一种传统的应用部署方式是通过插件或脚本来安装应用。这样做的缺点是应用的运行、配置、管理、所有生存周期将与当前操作系统绑定,这样做并不利于应用的升级更新/回滚等操作,当然也可以通过创建虚拟机...原创 2022-03-29 13:29:31 · 98 阅读 · 0 评论