自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 kubernetes学习(十五)kubernetes-日志服务loki

2313。

2025-01-23 14:10:37 144

原创 kubernetes学习(十二)kubernetes-helm

在没使用helm之前,部署k8s应用,需要依次部署deployment、svc等,步骤比较繁琐。尤其是我们初学者,各种资源清单的编写太过复杂)况且随着很多项目的微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm通过打包的方式,支持发布的版本管理和控制,很大程度简化了k8s应用的部署和管理Helm本质就是让k8s的应用管理(deployment、service等)可配置,能动态生成。通过动态生成k8s资源清单文件(deployment.yaml、service.yaml)。

2025-01-17 20:50:30 479

原创 kubernetes学习(一)kubernetes-搭建

他的作用是与kubernetes提供的标准容器容器运行时接口CRI进行对接,简单来讲就是将k8s说的话翻译给docker听,1.24版本后移除了此组件,导致docker无法对接k8s(才有了k8s放弃docker的说法),因为增加了k8s官方的运维成本,后来docker和一个叫mirans的公司接过了此项运维工程,开发了cri-docker来保持docker和k8s的对接。容器运行时就是负责“运行容器”的工具,管理容器的创建、启动和停止,不用想的过于复杂。这是没装cri-dockerd的报错贴图。

2025-01-17 19:23:51 915

原创 kubernetes学习(十三)kubernetes-Ingress-nginx

解析上图,当客户端发起https请求,nginx收到后再由自己发起对服务器的tcp连接,真实环境中nginx和服务器一般都是在同一内网环境中,所以他们之间用http进行通信即可。比如Ingress-nginx就是控制器的一种,还有很多其他的可以去官网看介绍,Ingress-nginx是使用范围最广的。解析上图,客户端访问lvs,lvs将请求转发到后端真实服务器,图中看出客户端到服务端之间只有一次完整的tcp连接,lvs只是转发请求而已,那么真实服务器接收请求,也势必要开启https的配置。

2025-01-10 17:41:24 830

原创 kubernetes学习(十一)kubernetes-安全

这时王二(CA)出现了,德高望重。到了两人见面时候了,李四先给出自己的推荐信,张三一看推荐信确认是李四了,这时候在把自己的推荐信给李四看,双方通过认证以后,就可以关起门发财了(加密通讯)如上图,新创建了一个ns,然后getns就可以看到默认的sa,如果在test这个ns下运行pod,pod就会默认调用此sa发起对apiserver的访问,如果需要的话。从集群的安装到目前都没有做过手动签发证书的操作,因为基于kubeadm安装的方式,它已经把手动签发证书的操作替我们给做了,并不是不需要手动签发。

2024-12-29 18:08:51 1574

原创 kubernetes学习(十)kubernetes-scheduler调度器

这个实验是更加方便理解调度器的一个过程,不指定调度器的话Pod默认用官方自带的开始实验metadata:labels:app:myappspec:selector:app:myapptemplate:metadata:labels:app:myappspec:schedulerName:my-scheduler#指定调度器的名称呐,创建资源对象后可以看到Pod是pending状态,也就是待处理。

2024-12-27 21:55:24 701

原创 kubernetes学习(九)kubernetes-存储

这时候引出了配置中心ConfigMap(如果不能满足需求可以开发自定义配置中心),首先会在每个节点上安装一个agent端,agent端的作用就是监控配置中心的资源是否发生更新动作,如果有agent端就会去配置中心下载最新的配置文件来替换当前的,然后出发nginx重载,使配置生效。但是它会使用其本地缓存的数值作为secret的当前值。所以当第一次注入的时候第一个文件产生了一个链接(有且只会有这一个链接),这时候要进行热更新了,会将更新的内容注入到第二个文件中,再将之前的链接转移到第二个文件上,清除旧链接。

2024-12-21 13:22:06 1694

原创 kubernetes学习(八)kubernetes-Service服务

通过图片看到有一个客户端的pod和多个server端的pod,客户端想要访问server端的话,要先访问本地的防火墙规则,防火墙规则再将流量转发至当前节点或别的节点的kube-proxy,kube-proxy再去代理server返回给client,在这里kube-proxy有两个工作,一个是监听kube-apiServer,第二个是代理server的请求,返回给client。怎么确定ipvs能够创建成功呢?在之前的实验中,说的都是用户怎么怎么访问pod,但是忽略了一个事实,实验一直都是在集群内部访问的。

2024-12-21 12:37:52 758

原创 kubernetes学习(七)kubernetes-pod控制器

k8s中运行了一系列控制器来确保集群的当前状态与期望状态保持一致,它们就是k8s集群内部的管理控制中心或者说是“中心大脑”。例如ReplicaSet控制器负责维护集群中运行pod的数量;Node控制器负责监控节点的状态,并在节点出现故障时,执行自动化修复流程,确保集群始终处于预期的工作状态,下图是控制器的工作状态分析上图,从清单中可以看到第一个看到spec定义了pod数量有8个,第二个是spec是容器组。右边是节点的真实状态,而中间就是控制器起到的作用:调谐。什么叫调谐?

2024-12-21 11:49:00 820

原创 kubernetes学习(六)kubernetes-pod生命周期

对与以上问题,k8s的pod终止流程中还有一个“最多可以容忍的时间”,即graceperiod(在pod.sepc.terminationGracePeriodSeconds字段定义),这个值默认30秒,当我们执行kubectldelete的时候可以也可以通过--grace-period参数显示指定一个优雅退出时间来覆盖pod中的配置,如果我们配置的graceperiod超过时间之后,k8s只能选择强制killpod。所以出现了一种情况,端口在但是不能提供服务,就没有就绪探测的意义了。

2024-12-21 11:02:31 1935

原创 kubernetes学习(六)kubernetes-资源清单

Kubernetes中的所有内容都被抽象为“资源”,如Pod、Service、Node等都是资源。“对象”就是“资源”的实例,是持久化的实体。如某个具体的Pod、某个具体的Node。K8s中的资源类别有很多种,kubectl可以通过配置文件来创建这些“对象”,配置文件更像是描述对象“属性”的文件,配置文件格式可以是“JSON”或“YAML”,常用“YAML”。工作负载性资源:pod、replicaset、deployment。配置与存储型资源:volume、CSI。

2024-12-21 10:25:49 422

原创 kubernetes学习(五)kubernetes-网络

kubernetes的网络模型假定了所有pod都在一个可以直接连通的扁平的网络空间中,这在GCE(gloogleconputeengine)里面是现成的网络模型,kubernetes假定这个网络已经存在。通过插件化方式来集成各种网络插件,实现集群内部网络互相通信,只要实现CNI标准中定义的核心接口操作。CNI通过json格式的配置文件来描述网络配置,当需要配置容器网络时,由容器运行时负责调用执行CNI插件,并通过CNI插件的标准输入来传递配置文件信息,通过标准输出接收插件的执行结果。

2024-12-21 10:15:02 627

原创 kubernetes学习(四)kubernetes-Pod概念

是可以在Kubernetes中创建和管理的、最小的可部署的计算单元。任何容器任务都要封装在pod内部运行。

2024-12-21 09:59:48 278

原创 kubernetes学习(三)kubernetes-插件

CoreDNS:尽管其他插件都并非严格意义上的必需组件,但几乎所有Kubernetes集群都应该有集群DNS,因为很多示例都需要DNS服务。集群DNS是一个DNS服务器,和环境中的其他DNS服务器一起工作,它为Kubernetes服务提供DNS记录。Calico支持一套灵活的网络选项,因此你可以根据自己的情况选择最有效的选项,包括非覆盖和覆盖网络,带或不带BGP。因为这些插件提供集群级别的功能,插件中命名空间域的资源属于。命名空间,插件很多,包括但不限于以下几个。

2024-12-21 09:51:22 180

原创 kubernetes学习(二)kubernetes-组件

apiserverKubernetesHTTPAPI的核心组件服务器,整个集群的唯一接口,所有的组件和访问的唯一入口比如kubectl,scheduler就是通过这个组件控制整个集群etcd键值对数据库,整个集群的配置以及信息参数都保存在此,所有通过apiserver的数据都会存储在此。

2024-12-21 09:48:51 441

原创 iptables学习心得和指令

iptables针对ipv4的数据包进行过滤、拦截及地址转换,针对ipv6的可以用ip6tables,下午为数据流经过表的前后顺序以及每个表中包含哪些链(chain)

2024-11-19 17:35:22 394

原创 VMware桥接模式上网问题

2.设置ip为静态时候会出现无法上网的情况,动态的dhcp就可以,经过测试发现是ip分配的问题,可能开通宽带时候电信公司做了某些限制,(我也不懂猜的)通俗来说桥接模式就是模拟一个实际网络设备,需要独立的ip,(这个ip是和你宿主机平级的),当我开了三个虚拟机(这时候算上你的宿主机已经有了四个公网的独立ip了)再继续开第四个时候第四个无法联网,然后我关闭里前三个中的某一个惊奇的发现第四个可以联网了,于是就把前三个改为静态ip,往后的全部设置为动态。

2024-11-12 10:02:20 147

原创 harbor仓库推送镜像https报错问题

harbor本地部署使用http,推送镜像报错问题解决及记录

2024-11-03 14:12:51 557

原创 Harbor仓库搭建过程+主从

本人使用docker、haarbor、docker-compose都是最新的版本有些步骤可能老版本并没有,所以大家部署时候要注意些

2024-10-21 12:16:52 570

原创 dockerfile构建镜像过程中yum源报错问题

Unknown error",显示dns解析出问题,但是这个yum源我在宿主机用是没有问题的,然后我用镜像起了个容器,容器里面配置了相同的yum源也没有问题,后来一个大佬帮我解决了这个问题。构建过程中的容器跟你容器设置的网络有关,所以让你在Dockerfile中yum命令之前加一个网络测试命令,如果网络可通那就是DNS问题,所以我在构建镜像的过程中指定了网络,命令docker build --network=host -t nginx ./,构建过程中我制定了host网络就没问了。

2024-10-17 19:40:24 364

空空如也

空空如也

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

TA关注的人

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