镜像私服Harbor 2.0安装-探索工厂模式:如何优化Harbor项目管理与API集成 工厂模式是一种常见的创建型设计模式,旨在封装对象的创建过程,使得客户端无需关心具体对象的实例化细节。通过工厂模式,我们可以集中管理对象的创建逻辑,并通过统一的接口或方法提供对象实例。
Stable Diffusion文生图-图生图-ControINet插件-线稿上色-生产全套表情包-3D Openpose-局部重绘-换衣服,换姿势人设三视图一键生成教程大全 柔和插画模式-进阶(Euler_a)柔和插画模式-景深(Euler)油画模式(LMS_Karras)高文本插画模式(DPM++_2S_a)高文本插画模式-景深(DPM++_2M)强文本插画模式-景深进阶(DPM++_2M_karras)强文本细节模式-进阶(DPM++_SDE_karras)### 一、提示词基本书写方式英文书写以词组作为单位的多数时候推荐将长句拆分词组与词组之间需要插入分隔符(一个英文里的半角逗号)可以换行,但每一行的行末最好也打上分隔符。
Helm安装集群整理 1.添加nfs存储2.安装redis集群3.安装neo4j集群4.安装clickhouse集群5. 安装zookeeper集群6. 安装es集群7. 安装openebs8.安装radondb
k8s-Helm包管理器 Kubernetes 包管理器Helm 是查找、分享和使用软件构件 Kubernetes 的最优方式。Helm 管理名为 chart 的 Kubernetes 包的工具。从头开始创建新的 chart将 chart 打包成归档(tgz)文件与存储 chart 的仓库进行交互在现有的 Kubernetes 集群中安装和卸载 chart管理与 Helm 一起安装的 chart 的发布周期对于Helm,有三个重要的概念:chart创建Kubernetes应用程序所必需的一组信息。
git rebase 合并当前分支的多个commit记录 Git 将会合并这些提交,并打开一个新的编辑器窗口,让你编辑合并后的提交信息。在这里你可以编辑合并后的提交信息,或者保持原样。执行上述命令后,会打开一个交互式编辑器,列出了你选择的提交。#支持使用json/yaml或excel方式来创建角色 这一行打开时是没有注释的,注释掉。其实,2次提交完全可以合并成一次 commit,这个时候 rebase 就很有用了。Git 将会完成 rebase 过程,并应用你的修改。(表示“合并”),这将把这个提交与前一个提交合并。将你想要合并的提交前的操作标记改为。
window10下安装ubuntu系统以及docker使用 依次进入控制面板–>程序–>启用或关闭windows功能,勾选适用于windows的linux的子系统以及虚拟机平台,点击确定。首次启动新安装的 Linux 分发版时,将打开一个控制台窗口,系统会要求你等待一分钟或两分钟,以便文件解压缩并存储到电脑上。未来的所有启动时间应不到一秒。sudo service docker start启动服务,显示 * Starting Docker: docker,打开win10开发人员模式,在设置–>更新和安全–>针对开发人员,中勾选开发人员模式。进入到你放文件的位置。
k8s-身份认证与权限 Kubernetes作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。所谓的安全性其实就是保证对Kubernetes的各种客户端进行认证和鉴权操作。User Account:一般是独立于kubernetes之外的其他服务管理的用户账号。Service Account:kubernetes管理的账号,用于为Pod中的服务进程在访问Kubernetes时提供身份标识。
k8s-配置与存储-持久化存储-NFS 挂载、StorageClass 存储类 动态创建NFS-PV案例 Volume是Pod中能够被多个容器访问的共享目录,它被定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下,kubernetes通过Volume实现同一个Pod中不同容器之间的数据共享以及数据的持久化存储。EmptyDir是在Pod被分配到Node时创建的,它的初始内容为空,并且无须指定宿主机上对应的目录文件,因为kubernetes会自动分配一个目录,上节课提到,EmptyDir中数据不会被持久化,它会随着Pod的结束而销毁,如果想简单的将数据持久化到主机中,可以选择HostPath。
k8s部署模板 确保 Deployment 的副本数量为 1,并且可以看到应用正常运行。) 中创建 Deployment 和 Service。的 ConfigMap,其中包含了一个键为。获取服务的 ClusterIP 地址。在这个文件中,我们定义了一个名为。如果你是在浏览器中访问,可以打开。这将在指定的命名空间 (
k8s-配置与存储-配置管理 Volume是Pod中能够被多个容器访问的共享目录,它被定义在Pod上,然后被一个Pod里的多个容器挂载到具体的文件目录下,kubernetes通过Volume实现同一个Pod中不同容器之间的数据共享以及数据的持久化存储。Volume的生命容器不与Pod中单个容器的生命周期相关,当容器终止或者重启时,Volume中的数据也不会丢失。对于 subPath 的方式,我们可以取消 subPath 的使用,将配置文件挂载到一个不存在的目录,避免目录的覆盖,然后再利用软连接的形式,将该文件链接到目标位置。
k8s-高级调度-污点容忍、亲和性调度 如果 Pod 设置了与节点上的污点匹配的容忍规则,那么该 Pod 就可以被调度到具有该污点的节点上。亲和性调度在NodeSelector的基础之上的进行了扩展,可以通过配置的形式,实现优先选择满足条件的Node进行调度,如果没有,也可以调度到不满足条件的节点上,使调度更加灵活。上面配置表达的意思是:新Pod必须要与拥有标签nodeenv=xxx或者nodeenv=yyy的pod在同一Node上,显然现在没有这样pod,接下来,运行测试一下。
k8s-高级调度-CronJob 计划任务 在 k8s 中周期性运行计划任务,与 linux 中的 crontab 相同注意点:CronJob 执行的时间是 controller-manager 的时间,所以一定要确保 controller-manager 时间是准确的。
深入理解 Kubernetes Ingress:路由流量、负载均衡和安全性配置 在 Kubernetes 中,Ingress 是一种 API 资源,用于定义外部流量如何进入集群内部。它允许我们基于主机名、路径和其他条件,将流量导向不同的后端服务。简而言之,Ingress 是一个灵活的流量管理工具,使得在集群中运行的多个服务可以共享同一 IP 地址和端口。
资源调度-HPA:基于负载指标自动水平扩容缩容Pod Pod 自动扩容:可以根据 CPU 使用率或自定义指标(metrics)自动对 Pod 进行扩/缩容。控制管理器每隔30s(可以通过–horizontal-pod-autoscaler-sync-period修改)查询metrics的资源使用情况通常用于 Deployment,不适用于无法扩/缩容的对象,如 DaemonSet。
Deployment的创建、滚动更新、回滚版本、扩容缩容 Pod是kubernetes的最小管理单元,在kubernetes中,按照pod的创建方式可以将其分为两类:kubernetes直接创建出来的Pod,这种pod删除后就没有了,也不会重建控制器创建的pod:kubernetes通过控制器创建的pod,这种pod删除了之后还会自动重建ReplicationController:比较原始的pod控制器,已经被废弃,由ReplicaSet替代ReplicaSet:保证副本数量一直维持在期望值,并支持pod数量扩缩容,镜像版本升级。
深入Pod- 探针_健康检查、Pod生命周期 如果你使用 kubectl 来查询包含 Terminated 状态的容器的 Pod 时, 你会看到容器进入此状态的原因、退出代码以及容器执行期间的起止时间。有时候,会有一些现有的应用在启动时需要较长的初始化时间。当你使用 kubectl 来查询包含 Waiting 状态的容器的 Pod 时,你也会看到一个 Reason 字段,其中给出了容器处于等待状态的原因。容器运行成功后会创建一个探针,会一直监控容器,一但发现容器挂掉了,会检查配置文件中是否有对应重启策略,按照要求的重启策略进行重启,或者是否需要重启。
三、Kubernetes(K8s)入门(一) kubernetes通过将集群内部的资源分配到不同的Namespace中,可以形成逻辑上的"组",以方便不同的组的资源进行隔离使用和管理。在kubernetes中,Pod是最小的控制单元,但是kubernetes很少直接控制Pod,一般都是通过Pod控制器来完成的。Pod控制器用于pod的管理,确保pod资源符合预期的状态,当pod的资源出现故障时,会尝试进行重启或重建pod。Namespace是kubernetes系统中的一种非常重要资源,它的主要作用是用来实现多套环境的资源隔离或者多租户的资源隔离。