自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 收藏
  • 关注

原创 31-k8s集群svc的代理模式-iptables修改为ipvs

学到这里,我们都知道,k8s集群的外部网络分发,借助kube-proxy组件来完成;问题:我们为什么要将代理模式修改为ipvs而不继续使用iptables呐?因为:1,iptables底层使用四表五链完成网络代理,效率比较低,而ipvs是采用了iphash的方式实现代理的,效率比较高,因此才会采用ipvs作为生产环境中的网络代理;2,iptables不太适合【读】,可读性太低,很乱;通过一层一层的路由查询,我们就知道了目标地址的终点ip是什么;

2024-06-20 16:07:40 645

原创 30-k8s集群的七层代理-ingress资源(进阶知识)

引发问题目前使用svc资源做网络暴露,使用nodeport类型,一个业务对应一个宿主机端口,那么如果业务多了,所占用的宿主机端口也就多了,虽然说宿主机端口一般情况下都是够用的,但是,对于研发、运维来讲,不同业务不同的端口,业务如果过多,管理起来就更加费力;2,总结1,集群宿主机端口占用太多2,当一个端口需要被多个服务使用的时候,就力不从心了,假设两个业务,都想要用443端口,那么就无法使用了;

2024-06-20 15:41:22 697

原创 29-资源清单的管理工具-helm

如下图所示,在一个企业中,可能存在多个不同的应用业务,每个业务可能包含多至十几、甚至几十个资源清单,那么对于“运维”和“研发”人员来讲,这么多的资源清单,通过人力去区分辨别,即便有“名称空间namespace”和不同“路径目录”来进行区分,也是非常吃力的;

2024-06-20 15:33:46 520

原创 28-k8s集群中-StatefulSets控制器(进阶知识)

假如,我们有一个deployment资源,创建了3个nginx的副本,对于nginx来讲,它是不区分启动或者关闭的先后顺序的,也就是“没有特殊状态”的一个服务,也成“无状态服务”,3个副本,谁先启动、谁后启动都没有关系,它只是用来web服务分发使用的一个工具而已;那么反之,有没有需要有启动顺序、关闭顺序这样的“有状态服务”呐?答案肯定是有啊;

2024-06-20 14:45:01 833

原创 27-pod数据持久化-pv与pvc资源及动态存储StorageClass

我们之前学习过好几种存储卷用于数据的持久化,我们来回忆一下;1,emptyDir存储卷:与pod的生命周期相同,pod删除掉,数据也随之删除;2,hostpath存储卷:必须指定宿主机,不同宿主机的pod不能数据共享;3,nfs存储卷;

2024-06-20 14:39:26 532

原创 26-k8s的附加组件-图形化管理工具dashboard

Dashboard是k8s集群管理的一个WebUI,它是k8s的一个附加组件,所以需要单独来部署;我们可以通过图形化的方法,创建、删除、修改、查询k8s资源;

2024-06-20 11:57:00 546

原创 25-k8s集群中-RBAC用户角色资源权限

k8s1,User3,Group本质上讲,在k8s系统中,用户,就是一个文件,这个文件在当前登录用户的家目录下;这个文件config,就代表“我”是谁;这里面并没有角色、权限信息,角色和权限信息,在其他位置;所以,要创建用户,就是要创建这个文件;那么如何创建这个文件呐?知道了ssl原理,https请求过程,我们就了解了,ssl的安全机制;实际上k8s当中“根证书”早就生成好了,在我们kubeadm部署的时候,就自动帮我们生成了;

2024-06-20 11:49:41 772

原创 24-k8s的附件组件-Metrics-server组件与hpa资源pod水平伸缩

Metrics-Server组件目的:获取集群中pod、节点等负载信息;hpa资源目的:通过metrics-server获取的pod负载信息,自动伸缩创建pod;参考链接:资源指标管道 | Kubernetes。

2024-06-20 11:33:21 668

原创 23-k8s中的控制器资源-DaemonSet控制器

一、概述daemonset资源:简称ds资源;他可以实现与pod反亲和性同样的目的,每个节点分别创建一个相同的pod;换句话说:如何再集群中每个节点上,分别创建一个相同的pod?1,利用pod的反亲和性2,使用daemonset资源创建pod;daemonset资源能够确保所有节点上运行一个相同的pod;典型的用法:1,在每个节点上运行集群的守护进程(例如:flannel)2,在每个节点上运行日志收集的守护进程(例如:filebeat)

2024-06-20 11:24:01 331

原创 22-k8s中pod的调度-亲和性affinity

在k8s当中,“亲和性”分为三种,节点亲和性、pod亲和性、pod反亲和性;

2024-06-20 11:19:51 982

原创 21-k8s中pod的调度-污点和污点容忍

假设:一个节点上有两个污点,但是你创建pod的时候,还想要在这个节点上创建,那么你就需要再资源清单中,写入“容忍这两个污点”,才会创建成功;可以理解为:在节点上设置了五点之后,你创建资源时,可以无视这个节点上的污点规则,也就可以在有污点的节点上创建资源;那么,k8s也同时提供了,“污点容忍”,就是即便你的节点设置了“污点”,我的资源也可以创建在这个节点上的能力;集群中的节点设置的污点,通过设置污点,来规划资源创建时所在的节点;#设置key和value的关系。至此,pod调度的污点和污点容忍,学习完毕;

2024-06-20 11:15:04 611

原创 20-k8s中pod的调度-nodeSelector节点选择器

那么我们有没有方法,让pod根据我们自己的想法,创建在我们想要的节点上呐?接下来,我们就学习,关于pod调度的节点选择器,nodeSelector。我们发现,其是随机创建在,k8s232和k8s233节点上的;我们先创建一个普通的deploy资源,设置为10个副本。1,给节点(k8s231、k8s232、k8s233)打标签。目的就是让pod创建在我们想要的节点上;至此,节点选择器nodeSelector学习完毕;2,pod中编辑节点选择(选择节点的标签)#调度到哪个标签的节点上?编辑了节点选择器之后。

2024-06-20 10:05:16 890

原创 19-k8s的附加组件-coreDNS组件

查看k8s集群中DNS的svc的详细信息,可以看到,里面解析了coreDNS的地址在endpoint列表中;k8s系统中安装了coreDNS组件后,会有一个coreDNS开头的pod资源;查看kubelet的配置文件中,可以看到集群dns的地址;集群自带coreDNS组件,二进制部署需要自己手动部署;coreDNS组件:就是将。资源的名称解析成ClusterIP;kubeadm部署的。至此,coreDNS学习完毕;

2024-06-20 09:54:51 621

原创 18-k8s控制器资源-cronjob控制器

job是执行完一次任务,就结束;cronjob控制器,是基于job控制器,定期频率性执行任务;等同于中的crontab一样;

2024-06-20 09:49:43 221

原创 17-k8s控制器资源-job控制

job:就是一次性任务的pod控制器,pod完成作业后不会重启,其重启策略是:Never。

2024-06-20 09:48:16 367

原创 16-k8s阶段性总结01-wordpress案例

由于,k8s集群,在创建业务pod时候,需要挂载外部的nfs,那么也需要有nfs的命令的使用,所以,k8s集群中 的机器,同样也需要安装nfs;我们采用k8s外部虚拟机的路径,实现数据卷的nfs挂载,本次学习,我们采用harbor的虚拟机进行存储静态数据;5,【数据库的svc】创建业务服务wordpress的pod资源访问数据库的svc资源;4,【数据库的pod】创建deployment资源的数据库服务的pod容器;3,【用户访问的svc】创建用户访问的svc资源;

2024-06-13 15:01:21 719

原创 15-k8s控制器资源-deployment/部署控制器

在学习rc和rs控制器资源时,我们指导,这两个资源都是控制pod的副本数量的,但是,他们两个有个缺点,就是在部署新版本pod或者回滚代码的时候,需要先apply资源清单,然后再删除现有pod,通过资源控制,重新拉取新的pod来实现回滚或者迭代升级;通过“标签”管理,实现rs资源的控制,它会在自动创建rs的过程中给rs自动生成一个特有的标签(专属于deployment),当apply更新清单的时候,它会通过标签选定是使用历史的rs还是重新创建rs;生产环境不建议使用,因为用户在此时会访问不到服务;

2024-06-13 14:56:36 1006

原创 14-k8s控制器资源-rs控制器replicasets

replicaset副本控制器,简称:rs控制器;用法:与rc控制器“几乎”相同;能力:可以指定pod的副本始终存活,相比于rc控制器;支持标签匹配,也支持标签表达式注意:不论是rc还是rs资源,都是通过“标签”惊醒匹配pod的,如果有同样的标签,则算作一个副本;

2024-06-13 14:46:42 701

原创 13-k8s的控制器资源-rc控制器replicationcontrollers

控制器资源,简称:rc控制器;简单理解,rc控制器就是控制相同的pod副本数量;使用rc控制器资源创建pod,就可以设定创建pod的数量;

2024-06-13 14:37:46 550

原创 12-资源注解annotations和安全行下文securityContext(了解即可)

当我们运行一个pod的容器的时候,存在一个风险,就是当有人登录到容器当中时,使用root用户登录,并修改文件等危险操作,会导致业务出现严重的安全问题,因此,k8s提供了安全上下文securitycontext,用来控制有人登录到容器当中进行的操作;#配置容器为特权容器,若配置了特权容器,可能对capabilities测试有影响;#指定运行容器的用户uid,注意该用户的uid必须事先存在于镜像中;#如果容器的进程以root身份运行,则禁止容器启动;可以看见,没有这个666的用户,什么都干不了;

2024-06-13 14:30:09 550

原创 11-k8s中网络资源service

一、service资源概述每当我们企业的业务pod迭代功能的时候,都会修改pod,修改后重新启动pod,ip就会变化,那么在生产环境当中,从用户到宿主机、从宿主机到pod,这一个访问流程,都是事先写好的,一旦pod修改后,ip产生变化,就需要重新配置,因此,k8s提供了service资源用于解决这一问题;

2024-06-13 14:27:54 920

原创 10-k8s中pod的探针

当我们设置了这个探针之后,检查不通过,pod容器就会重启,周期性检查服务是否存在;#检查失败几次算【不存活】,默认值是3,最小值是1,检查成功后,值会重置重1开始数;#检查失败几次算【不存活】,默认值是3,最小值是1,检查成功后,值会重置重1开始数;#检查失败几次算【不存活】,默认值是3,最小值是1,检查成功后,值会重置重1开始数;#检查失败几次算【不存活】,默认值是3,最小值是1,检查成功后,值会重置重1开始数;#检查失败几次算【不存活】,默认值是3,最小值是1,检查成功后,值会重置重1开始数;

2024-06-13 14:15:57 617

原创 09-名称空间namespace

名称空间:就是用来隔离k8s集群的资源的,我们通常使用名称空间对企业业务进行划分;有的资源是不支持名称空间的,我们称之为全局资源,而支持名称空间的,我们称之为局部资源;我们可以通过【kubectl api-resources】查看一个资源是否支持名称空间;如果删除了名称空间,则对应的名称空间中的资源也会被删除;温馨提示:相同名称空间下的相同资源,name名称不能重复;

2024-06-13 14:13:12 866

原创 08-静态pod(了解即可,不重要)

我们都知道,pod是kubelet创建的,那么创建的流程是什么呐?此时我们需要了解我们中config.yaml配置文件了;他的存放路径:【/var/lib/kubelet/config.yaml】

2024-06-13 14:09:22 520

原创 07-k8s中secret资源02-玩转secret

因为,k8s拉取镜像与Docker拉取镜像是不同的方式,所以k8s需要创建一个属于自己的来气镜像的方式;第一步:将想要的数据信息【key:value】中的value值,使用base64编码后,写入secret资源清单中;#1,指定secret资源的名称(使用哪个secret资源?#指定secret资源的名称(使用哪个secret资源?#指定镜像拉取的secret资源(secret的拉取镜像类型);#声明使用secret资源中的那一个key。了解到:私有仓库的镜像拉取secret资源的使用即可;

2024-06-13 14:06:57 944

原创 06-k8s中的secrets资源01-初识secret

secrets资源,类似于configmap资源,只是secrets资源是用来传递重要的信息的;secret資源就是將value的值使用base64编译后传输,当pod引用secret后,会自动将其base64的编码,反编译回正常的字符串;

2024-06-13 13:59:59 805

原创 05-k8s当中的ConfigMap资源

ConfigMap资源,简称CM资源,它生成的键值对数据,存储在ETCD数据库中;应用场景:主要是对应用程序的配置;pod通过env变量引入ConfigMap,或者通过数据卷挂载volume的方式引入ConfigMap资源;

2024-06-13 13:54:32 630

原创 04-pod资源02-标签管理、镜像拉取策略、容器重启策略、资源限制、优雅终止

2,还有其他的作用,比如说,k8s集群中,node节点的一些操作比如污点及污点容忍等,都需要使用到标签;完成一些业务容器运行前的操作,如执行命令,如果初始化容器没有创建成功,将一直重启,业务容器也就无法创建出来;也就是说,资源的相互关联大多数时候,是使用标签进行关联的;在pod的删除时,系统会自动延迟30s,为了给pod处理未处理完的请求;注意:声明式创建的标签(资源清单),删除后,如果重新拉取pod,标签会再次创建;1,Always(默认值):当容器退出时(不论什么原因),自动拉起新的容器;

2024-06-13 11:57:58 717

原创 02-k8s资源-初体验

1,发现错误报错kubectl get 资源类型 资源名 # 发现不是running;#2,查看资源的详细信息kubectl describe 资源类型 资源名#3,找到问题所在Events字段下的创建过程信息;#4,根据问题所在的原因,去解决问题;当然,如果找不到原因,或者其他位置原因,可以先检查集群的节点状态;日(特指天的意思)后,你会对【资源】有更深入地了解,此篇笔记,只为简单介绍关于k8s的资源相关入门;· 资源清单的组成2,kind。

2024-06-13 11:45:35 579

原创 01-k8s集群部署(kubeadm方式)及harbor仓库

本次使用kubeadm方式,部署1.23.17版本;安装包百度云盘地址:链接:https://pan.baidu.com/s/1PiIYXPyNkVuxBnuxBpvKHA?pwd=s04r提取码:s04r。

2024-06-13 11:36:38 723

原创 03-k8s的pod资源01-数据持久化、env环境变量、网络暴露

1,pod资源是k8s集群当中,最小的管理单位;2,其他所有资源都是围绕着为pod资源提供服务的;给pod提供服务的;3,pod就是“一组”容器,一个pod中可以有1个或者多个容器;1,容器挂掉,数据不会丢失;2,pod挂掉,数据会丢失;3,所以,不推荐使用;

2024-06-13 11:24:56 166

原创 数据库介绍及基础SQL语句

一、数据库(DB)1.DB介绍2.数据库分类3.MySQL简介4.数据库服务器、数据库和表的关系5.命令行中连接和退出MySQL的命令6.SQL介绍二、数据库常用操作命令1.创建、查看、删除、使用数据库(1)创建数据库(create)(2)查看数据库(show)(3)删除数据库(drop)(4)使用数据库(use)2.数据表中列的数据类型(1)数值型(2)字符型(3)日期型3.创建、查看、删除、修改数据表(1)约束条件(2)创建表(create)(3)查看表(show

2021-11-04 22:09:21 209

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除