自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

博然的宝藏库

分析容器,自动化,联动DevOps的姿势分享~

  • 博客(169)
  • 收藏
  • 关注

原创 Gitops-万字保姆级教程-小白也可以轻松学会! (Part 2)-ArgoCD

在Part 1中我们安装了Gitlab、配置了Gitlab-Runner、并且测试了最基本的Ci流水线。接着结合Sonar_qube对代码进行静态扫描并集成在Gitlab_Ci中。我们初步的完成了Ci阶段。这篇Part 2 主要涉及到CD阶段,通过Argo结合Gitops部署到我们的环境中。在Part 1 篇中我们使用的Python代码只用于演示Ci阶段,本次演示代码使用博主的Github开源仓库。开源万岁!一、Argo-CD是什么?总结。

2024-07-23 23:08:11 936

原创 Gitops-万字保姆级教程-小白也可以轻松学会! (Part 1)-Gitlab与Gitlab-Ci

本文章分为2个部分:Part 1主要涉及Gitlab、Gitlab-Runner、Git-Ci、Sonar-qube。Part 2主要涉及Rancher、Fleet、Git-Ci。GitOps 是一种用于持续交付(CD)的实践,它将 Git 作为单一的真理来源和配置的中心。这种方法强调开发人员和运维团队使用 Git 进行版本控制、代码审查和自动化部署的能力,以提高软件开发和部署的速度、安全性和可靠性。也可以参考下面我的另外一篇博客。

2024-07-10 23:44:28 885

原创 Gitops-万字保姆级教程-小白也可以轻松学会! (Part 3)-关于git你需要知道的事情

这是Devops系列文章的第三篇,从git命令学习。

2024-03-24 22:51:02 592

原创 xlsx表格-A列的值需要从C列中匹配到然后输出C列旁边D列的值,怎么写公式?

表示要返回的列的索引。区域中返回第2列(即。

2024-08-22 22:32:48 276

原创 修改pom.xml为阿里云仓库并且让他生效

mvn clean package验证。一、项目pom.xml添加。二、清理本地仓库缓存。

2024-08-05 22:37:16 384

原创 pom.xml和.m2的setting的区别?

(Project Object Model 文件)是 Maven 项目的核心配置文件。它定义了项目的基本信息、依赖项、插件、构建配置等。每个 Maven 项目都有一个 pom.xml。它用于配置 Maven 的全局设置,如本地仓库位置、代理设置、镜像配置、认证信息等。它影响所有使用该 Maven 安装的项目。一个是java项目的配置文件,一个是mvn编译工具的配置文件。是 Maven 的全局配置文件,通常位于用户主目录下的。

2024-08-05 22:17:07 378

原创 Gitlab仓库的权限分配以及如何查看自己的权限

6. 选择适当的权限级别(Guest、Reporter、Developer、Maintainer)。- **Reporter**:可以查看和克隆代码,但不能推送代码。- **Owner**:拥有项目的所有权限(仅限于个人项目)。- **Developer**:可以查看、克隆和推送代码。- **Maintainer**:可以管理项目设置和成员。4. 在成员列表中,你可以看到自己和其他成员的权限级别。3. 在左侧菜单中,点击“Members”(成员)。- **Guest**:只能查看项目的公开内容。

2024-08-03 23:05:41 592

原创 Gitlab中access token 和Deploy token的区别

可以配置不同的权限范围(Scopes),如`api`、`read_user`、`read_repository`、`write_repository`等。- **Deploy Token**:专门用于CI/CD和自动化部署,权限较为有限,适用于特定场景。- **Project Access Token**:与特定项目关联,具有项目级别的权限。- **Access Token**:用于用户身份验证,具有广泛的权限范围,适用于各种操作。- 可以用于克隆、推送代码,管理项目和组,执行CI/CD任务等。

2024-08-03 23:04:50 529

原创 Gitops-万字保姆级教程-小白也可以轻松学会! (Part 4)-Argo-Cli安装与使用

*选择合适的符合你操作系统以及CPU架构的二进制文件。

2024-07-24 23:08:05 451

原创 5分钟了解,Kustomize是什么工具?

那么就是说第一个deployment.yaml,其实就是定义的模版文件,但是一个非常完整的文件。另外两个development以及production,其实就是覆盖模版文件上的一些参数,来实现不同环境部署不同的配置文件。

2024-07-22 21:59:37 337

原创 Cherry无线鼠标重新配对教程

2024-07-16 10:34:15 402

原创 Linux文件系统讲解!

usr/bin 是二进制文件的主要存放位置,不是操作系统本身的一部分,大部分用户的程序放在这里,比如git等,有趣的人 /usr 不是代表User用户而是Unix System Resources。/usr/lib 包含/usr 二进制文件的库,这些库对于早期系统初始化并不重要。/usr/local/bin 保存由管理员安装的可执行文件,通常是从源码构建他们后放入的。/lib包含/bin和/sbin二进制文件正常运行所必需的共享库文件。在安装/usr之前,需要在引导过程的早起访问这些库,

2024-06-14 22:11:08 841

原创 几句话理解Kubetnetes中的Service资源的几种类型

master-host = mysql-cluster-0.mysql-cluster.default.svc.cluster.local 直接告诉Slave节点主节点在哪里,并且后端程序的配置文件也可以直接写mysql-cluster-0.mysql-cluster.default.svc.cluster.local告诉后端程序Mysql主的地址。2、且因为副本机制的存在,创建多副本的Pod以及实际需要访问服务的Pod不一定在同一个worker节点上,需要一个LB的机制。

2024-06-12 12:26:54 726

原创 几句话明白什么是Kubernetes Operator?

答案肯定是不知道的,这个时候就需要人工干预,这个人就是操作员,也就是Operator。1、要实现软件Operator层面,Kubernetes本身的api是不能够完成这类任务的,因为Kubernetes不可能存储所有应用的控制生命周期的知识。3、那么Kubernetes设计之初就说我们是一个自动化、减少人工干预的、自动修复平台,是不是优点问题。1、有状态应用,比如数据库、复杂的集群系统(ELK),本身有选举、同步等机制的应用程序。3、这些被单独定义的CRD就是Operator的具体控制生命周期的“知识”。

2024-06-11 23:17:37 382

原创 将你的IOS升级到18

一、登录到苹果开发者网站。三、选择Download。四、登录appleid。二、选择IOS 18。

2024-06-11 18:17:36 355 1

原创 纯理论容器实现的原理

容器本质上就是主机上的一个进程。这个进程拥有自己的用户空间并且和主机共享内核空间。容器内的进程可以通过系统调用与内核进行交互,使用内核提供的各种功能和资源。简单的说就是将一个目录赋予一个进程作为这个进程运行的根目录的技术。六、容器是怎么挂载和使用主机的Dir的?当容器启动时,会使用overlay2存储驱动将容器的LowerDir、UpperDir、WorkDir、MergedDir镜像合并,组成容器的Rootfs(也就是容器的用户空间),并且在 Docker 中,当你使用-v或--volume。

2024-06-10 13:53:15 739

原创 几句话搞懂什么是docker image?它主要解决什么问题?他用什么技术实现的?

1、他使用联合文件系统基于层级概念保证docker image的不可变性。如出现读那就正常读,如有修改会新增一层复制底层中的文件进行修改,而不是直接修改原文件的内容。当你本地开发一个应用想测试,如果时虚拟机环境那你会重复做很多工作且还会出现兼容问题。2、docker image 因为可以推送到公网且镜像非常小以及本身都是标准化的产物,那么你可以在任何地方部署和移植。4、符合OCI标准的Runtime都可以运行docker image.1、除去LinuxOS内核资源的用户空间的一组资源集合的快照。

2024-06-09 10:38:24 432 1

原创 4句话明白虚拟机和容器的区别

1、容器本质上是被namespace以及cgroup隔离和限制资源的进程。在容器之间的隔离相比虚拟机OS之前的安全性较差。2、扩展APP副本时到重复资源浪费(GustOS-libs)3、当你开发在本地但要移植到云端,就会出现各种兼容性问题。4、很难集成到DevOps管道中,因为CD阶段没有标准。服务器-HostOS-虚拟化层-GustOS-libs-App。服务器-HostOS-RunTime-App。

2024-06-09 10:13:16 330

原创 浅谈什么是Google GKE?Auto Pilot模式是什么?

1、私有云的Kubetnes包括底层虚拟机的生命周期管理、安全都给Google管理,管理成本降低。2、底层实际还是一堆虚拟机,但这些虚拟机的生命周期不用你负责管理了,只需要管理Gke集群来运行你的工作负载。2、如遇到业务增长或新业务部署,扩容后的节点GKE是基于模版而不是实际的业务需求。1、集群的节点数量是预先设计好的而不是根据业务实际需求,会出现闲置资源成本。1、你需要为这个集群配置Kubetnetes版本、网络、存储、节点等等。2、如遇到业务增长、扩缩容由公有云提供不间断业务的扩、缩容集群。

2024-06-08 10:17:37 478

原创 4句话学习-k8s节点是如何注册到k8s集群并且kubelet拿到k8s证书的

三、看到有人拿着Bootstrap token的CSR来签名请求了,CSRAppprovingController会自动签名并且生成证书。服务器端会保存你的证书,让你来下载。二、ControllerManager有一个组件叫CSRAppprovingController,专门来Watch有没有人来使用我这个api.一、kubelet拿着CSR(签名请求)使用的是Bootstrap token。四、Kubelet会下载证书并且使用这个证书来访问Api-Server.

2024-06-06 22:34:15 519

原创 了解Kubernetes-RKE2的PKI以及证书存放位置

默认位置:/etc/kubenetes/pki ,因为我是搭建的RKE2发行版的k8s,故我的PKI在这里:/var/lib/rancher/rke2/server/tls。3、但同理Api-server相对于Etcd和Kubelet那么,Etcd、Kubelet为Server端,则Api-server有一份对应的Client证书。可以方便理解为当你的集群有Server,Client架构,那么为了安全加密之间的通信,则需要使用证书进行交互,那么利用PKI架构可以安全加密组件之间的通信。简称:证书基础设施。

2024-06-06 22:21:54 878

原创 CentOS-内网搭建FTP-Server

3、修改/etc/vsftpd/vsftpd.conf 配置文件。1、勾选FTP、文件以及存储服务器、性能以及开发工具。2、临时关闭Selinux,不然用户无法读取你的文件。1、 Centos-everting或者DVD。6、使用客户端FileZilla进行测试。4、新增FTP用户 演示为admin。2、7.5 7.6 7.9 均可。2、最重要的一步为“软件选择”1、其余步骤和普通安装一致。密码为 admin12345。三、FTPServer搭建。查看admin用户的目录。状态要为Runing。

2024-06-04 22:53:35 463

原创 大白话说明:k8s-Service资源的理解以及与Ingress Controller 做区分

1、kube-proxy会拦截所有访问Service Cluster-ip的流量并且通过Service的Endpoints 来list实际的后端IP地址。2、当你创建Service资源时会同时创建一个名称为Endpoints的资源对象来List 这些实际的Pod的IP。2、Ingress Controller 只需要Service 的Endpoints的信息。2、7层则可以使用应用层的Http层应用层协议并且可以做的LB更加灵活。3、它干的活儿就是一个 4层LB的活儿。五、4层LB和7层LB的区别。

2024-06-03 21:44:17 796

原创 TOP10-k8s-安全措施

这包括 etcd 的客户端到服务器的通信(例如,API 服务器到 etcd 的通信),以及 etcd 集群内部的服务器到服务器的通信。:如果可能的话,你应该考虑使用外部的密钥管理系统,如 HashiCorp Vault 或 AWS KMS,来存储你的敏感数据。etcd保存着整个k8s集群的几乎所有资源信息,攻击者可以访问etcd那么可以说几乎拥有无限制对于k8s集群的访问权限。:你应该启用 etcd 的审计日志功能,以记录所有的请求。这可以帮助你检测任何未授权的访问尝试,以及跟踪问题的来源。

2024-06-02 23:06:19 832

原创 Kubernetes-使用集群CA证书给用户颁发客户端证书访问Api-Server

创建了证书之后,为了让这个用户能访问 Kubernetes 集群资源,现在就要创建 Role 和 RoleBinding 了。解释:创建一个角色叫开发者,只有更新和创建以及列出对于Pod资源的权限,没有制定命名空间则默认使用default.设置 CSR 的 CN 和 O 属性很重要。CN 是用户名,O 是该用户归属的组。2、下面get pod 则验证了权限配置正常以及正确。比如我是rke2的发行版,默认是default,其他发行版类推。将上面的的开发者权限绑定到刚才颁发证书的user-myuser。

2024-06-02 22:05:13 937

原创 浅谈应用发布的4种方式

1、一套生产环境,例如10个副本,将其中3个副本部署为新版本。一套环境中将一小部分应用副本设置为“金丝雀”,对外提供新版本服务,这一小部分流量可以针对特定的用户,位置,终端类型进行区分。两套一摸一样的生产环境,一套对外提供业务服务(蓝),一套准生产服务(绿)。1、因为环境一致经过充分测试,回退率最低。1、业务连续性强,有问题只会小部分用户。1、即将现有生产环境的APP版本直接一刀切到新版本。1、无法限制为特定的用户提供服务。2、无法限制为特定的用户提供服务。1、可以针对小部分用户进行测试。

2024-05-31 13:12:15 491

原创 浅谈云原生安全

1、从Cluster的Node节点的OS开始就找信任和签名的发行版,避免高风险漏洞。3、使用CIS安全最佳实践对于OS、Cluster进行安全最佳实践处理。5、不同节点上的Pod之间 egress/ingress 通信必须存在严格限制的网络策略。4、针对RBAC的admin或者Clusteradmin角色和权限进行严格分发限制。2、具备信任和签名的Cluster的发行版,例如:Rke、Rke2。2、在code构建时,使用信任的构建工具。3、推送到的仓库是私有且信任的。二、云原生各个层级的安全实践有哪些?

2024-05-31 13:00:38 502

原创 VMware-计算超分解释

这是根据虚拟机的配置和当前系统资源的状况计算出来的一个估算值,用于评估在系统负载高时虚拟机可能需要的资源量。与消耗不同,活动资源是指当前正在被虚拟机使用的资源,而不是总体的资源消耗。2、一台虚拟机实际的消耗内存会超过分配的内存,超过分配内存是从其他闲置虚拟机的非预留内存或CPU拿取的。这是虚拟机独占使用的内存,不会被其他虚拟机或系统使用。共享(Shared):指被虚拟机使用但可以与其他虚拟机共享的内存量。3、专用内存则是会这台虚拟机必要的内存或CPU开销来计算出来的。1、总的来说,就是体现超分。

2024-05-22 11:13:25 539

原创 Rancher-Kubewarden-保姆级教学-含Demo测试

它与k8s集群的api-server通信,并会监视api-server执行pod “create update ”等动作时,把执行的行为交给policy-server评估,是否符合我们策略的要求。总的来说,这个策略旨在增强 Kubernetes 的安全性,通过阻止创建 `NodePort` 类型的 Service,从而避免了潜在的安全风险。- 该策略的作用是检查 Service 资源的类型,并防止创建类型为 `NodePort` 的 Service。1、还记得我们下载安装的kwctl工具吗?

2024-05-10 12:41:21 943

原创 Epinio:Kubernetes 的应用程序开发引擎-加CLI Demo演示

底层容器逻辑还是需要制作一个容器镜像,只是因为不同的语言依赖的环境不一样,而Epinio 做的好的一点就是他可以自动识别大部分主流高级开发语言,直接匹配base镜像。4.Epinio api server 拿到了这个blobUID,会创建一个job,这个job会下载存储在s3的源码,然后从base镜像开始沟通你的容器。1.他会把你的选择的path进行压缩打包,格式为zip,tar等等,然后传送给epinio api server.2、你有一个默认的存储类以及默认的入口类。1、你有一个K8S集群。

2024-05-04 17:38:18 799

原创 Rancher-[ContainersNotReady] containers with unready status:

你计算资源不够了~bro。

2024-04-30 09:53:35 420

原创 Dell -R760-初始化上线配置-Idrac以及NvmeSSD-Raid

2、故需要将R760的专用Idrac网口连接到交换机,然后交换机开启DHCP分配地址即可访问。1、Nvme 的SSD Dell 出场即配置好了。1、默认R760专用网口启用DHCP。

2024-04-29 18:19:59 404

原创 rancher/elemental 构建不可变IOS(一)

通过 Elemental,用户可以更快速地启动和运行 Kubernetes 集群,并使用 Rancher 提供的丰富功能来管理它们。#其中config/cloud-config: 为你自定义给OS添加的内容,你可以配置自定义网络,自定义主机名。1.selector.yaml与cluster.yaml是为Rancher集群管理服务的资源对象,并且为elemental自定义IOS的文件相关。#这也是重点,这个yaml为使用你自定义的配置文件自动打包构建你的自定义ISO镜像。镜像文件挂载正常,启动正常。

2024-04-28 19:28:21 761

原创 Rancher-Longhorn-新增磁盘以及卷创建原理和卷副本调度规则

我的磁盘为sdc ,分区为sdc的第一个主要分区sdc1,挂载目录为/sdc,文件系统为xfs.4、然后执行 mount /dev/sdxxx 你挂载的目录。2、然后执行 fdisk /dev/sdxx 分区你的盘。5、记得修改 /etc/fstab 不然只是临时挂载。重点: 1、此时就完成了扩容,但并没有给到节点使用,因为没有开启调度。2、下次更新调度以及调度规则配置实践。1、执行 lsblk 能找到你的盘。4、执行 df -Th 验证你的磁盘配置信息。6、等待10S,验证添加成功。

2024-04-22 20:51:14 478

原创 rancher-rke2 修改--service-cluster-ip-range

因为需要部署新版本的ingress-nginx,而部署ingress-nginx的时候需要使用hostnetowrk以及nodeport的端口为80和443,service-node-port-range 默认为30000开始,部署会报错。1、api-servier的配置文件位置。默认是没有的,需要手动创建。

2024-04-21 12:24:37 465

原创 根据ELK官网指引部署ELK- ECK-Elastic-​ Kibana​-Learn-ELK-(一)

使用Kubernetes Operator 方式部署ELK,可以让你最简单的方式来管理和部署你的ELK全家桶。三、Deploy Operator On your Kubetnetes。老规矩,所有的 Operator 都有自己配套的CRD资源。先部署扩展 CRD扩展资源,然后部署Operato。一、official website。官网给出了部署完毕验证的方式。

2024-04-13 15:53:09 637

原创 Istio-learning-note-about-Traffic Shifting(三)

【代码】Istio-learning-note-about-Traffic Shifting(三)

2024-04-06 16:26:56 285

原创 Istio-learning-note-about-Fault Injection(二)

【代码】Istio-learning-note-about-Fault Injection(一)

2024-04-06 16:08:12 509

原创 kubernetes有ingress-controler以及没有外部loadbalancer 的情况下使用istio-gateway.

那就配置一个ingress-使用已有ingress-controler代理istio-gateway class创建的gateway svc来公开。

2024-04-05 14:36:19 484

原创 Istio-learning-note-About-Gateway API(一)

【代码】Istio-learning-note-About-Gateway API(一)

2024-04-04 17:49:53 884

winserver 2019 根据表格自动导入dhcp 作用域

winserver 2019 根据表格自动导入dhcp 作用域

2023-12-13

空空如也

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

TA关注的人

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