哈哈哈哈哈哈
这篇文章不错!
这篇文章不错!
作者对主题的挖掘深入骨髓,展现了非凡的洞察力和理解力。
情感真挚自然,字里行间传递出强烈的感染力。
作者的情感表达细腻入微,让人在阅读中找到了心灵的慰藉。
内容的丰富性和深度让人仿佛置身于知识的海洋,受益匪浅。
# 图片回复
你的文章让我感受到了正能量,非常棒! https://www.4006400989.com/qyvideo/93624.html
你的文章充满了智慧,让人敬佩。 https://www.yonboz.com/video/12554.html
你的文章让我感受到了正能量,非常棒! https://www.4006400989.com/qyvideo/82001.html
你的文章充满了智慧,让人敬佩。 https://www.yonboz.com/video/83913.html
你的文章让我感受到了正能量,非常棒! https://www.4006400989.com/qyvideo/82001.html
你的文章充满了智慧,让人敬佩。 https://www.yonboz.com/video/83913.html
首页
网站统计
关于本站
在线留言
友链申请
高清壁纸
论坛
开往
虫洞
推荐
Linux命令
资源网
Search
1
Typecho Cuteen主题美化
5,129 阅读
2
京东呆瓜搭建青龙面板+xdd-plus机器人+nvjdc配置
4,597 阅读
3
好久不见之网站底部样式
4,237 阅读
4
傻妞机器人最新版安装教程
4,108 阅读
5
Joe 主题 6.xx 底部增强,显示标签及二维码分享
3,114 阅读
Linux
Shell
Mysql
Typecho
网络
其他
Redis
登录
Search
标签搜索
Linux
Typecho
美化
Nginx
Shell
综合架构
Mysql
Joe
源码
Web
数据备份
命令
Ansible
k8s
定时任务
视频
网易云
白嫖
网络
Rsync
小黑
累计撰写
155
篇文章
累计收到
921
条评论
博主
4月14日
在线
首页
栏目
Linux
Shell
Mysql
Typecho
网络
其他
Redis
页面
网站统计
关于本站
在线留言
友链申请
高清壁纸
推荐
Linux命令
资源网
开往
搜索到
155
篇与
罗小黑
的结果
2023-05-11
生花妙笔信手来 – 基于 Amazon SageMaker 使用 Grounded-SAM 加速电商广告素材生成 [1]
by AWS Team | on 04 5月 2023 | in Artificial Intelligence | Permalink | Share感谢各位读者对《生花妙笔信手来》系列的关注与喜爱,我们在本系列第一篇博客中介绍了如何基于 SageMaker Notebook 快速搭建托管的 AI 作画可视化环境(链接见注解),并收到一些积极反馈和建议,正在不断迭代当前的方案。在本文中, 我们将为大家介绍:1. 方案新增功能:ControlNet 与 Image browser 插件支持;2. 在电商/广告行业内,基于本方案新版本搭载最新视觉工具 Grounded-SAM,进行可控文图生成,加速营销素材产出;3. 本方案的常见问题与解答。注:请参考上一篇博客《生花妙笔信手来 – 基于 SageMaker Notebook 快速搭建托管的 Stable Diffusion – AI 作画可视化环境》并部署最新版本的方案,以下内容都将在最新方案上进行介绍。我们仍然推荐您将方案部署在美东 us-east-1 区域,并根据您的需求选择 ml.g4 或 ml.g5 系列实例类型。第一部分 方案新增功能1 扩展与插件1.1 ControlNetControlNet 是基于 Stable Diffusion WebUI 推出的一款插件,它为文生图功能引入了新的控制方式,可以额外控制人物的姿势、景深、线稿上色等等,可以更稳定的控制输出画面。ControlNet 把每一种不同类别的输入分别训练了模型,目前公开的有下面 8 个。分别是:canny,depth,hed,mlsd,normal,openpose,scribble,segmentation,模型描述见下表。预处理名称对应模型模型描述cannycontrol_canny边缘检测。通过从原始图片中提取线稿,来生成同样构图的画面。depthcontrol_depth深度检测。捕捉画面深度,获取图片前后景关系。hedcontrol_hed边缘检测但保留更多细节,适合重新着色和风格化。mlsdcontrol_mlsd线段识别,识别人物功能极差,非常适合建筑。normal_mapcontrol_normal根据图片生成法线贴图,非常适合 CG 建模师。openposecontrol_openpose提取人物骨骼姿势。openpose_handcontrol_openpose提取人物+手部骨骼姿势。scribblecontrol_openpose提取黑白稿。fake_scribblecontrol_scribble涂鸦风格提取(很强大的模型)。segmentationcontrol_seg语义分割。本方案最近版本的 WebUIVersion – 0405 版本默认支持 ControlNet 插件(见本文第三部分常见问题 1),只需按照以下步骤进行模型的下载,即可即刻开始使用 ControlNet 插件。在 CloudFormation-堆栈-输出中(参考上篇博客 4.3 第 12 步),找到 NotebookURL 链接,并打开 SageMaker Notebook Instance打开一个终端,依次点击 File->New->Terminal输入以下命令,开始下载,下载需要时间根据服务器的网络状况评估cd SageMaker/sd-webui ./download-controlnet-models.sh等待下载完成,回到 Stable Diffusion Web UI 界面,在 ControlNet 中点击”刷新”按钮,即完成了模型下载与安装1.2 Image Browser新增支持 Image Browser 插件,您可以方便地查看生成的历史图片,如下图位置。2 区域支持新增美西 2 US West(Oregon)区域第二部分 电商广告素材生成1 背景介绍在电商图像素材生成中,一个很常见的任务就是针对图像的某一部分进行定向修改。以往更多是需要设计师,使用专业图像编辑软件经过长时间作业才能实现。然而,根据现在的 AI 能力,我们可以更加简便地、高效地完成该任务。在本文中,我们将为大家展示如何在生花妙笔的新版方案上使用 Stable Diffusion WebUI 和 Grounded-SAM 实现下图所示的端到端的图像编辑效果,包括 1. 无代码实现图像编辑 (手动蒙版),适合不熟悉代码开发的设计、创作人员,以及 2. 利用代码自动实现图像编辑 (自动蒙版),适合开发人员、对 AIGC 感兴趣的爱好者。原图来自网络2 方案模型使用在本文中,我们会使用到下列几个模型。2.1 Realistic VisionRealistic Vision 是指生成逼真图像的模型。可以创建高度逼真不同年龄、种族、服装风格的人像,看起来就像照片一样。2.2 ControlNetControlNet 是一个基于 Stable Diffusion 1.5 的预训练模型,在作者 Lvmin Zhang 的论文中,解释说 ControlNet 是通过输入条件来控制预先训练的大型扩散模型,能利用输入图片里的边缘特征、深度特征或人体姿势的骨架特征,配合文字 prompt,精确引导图像在 SD 1.5 里的生成结果。ControlNet 一共有 8 个模型,本文使用 Control_canny 模型。2.3 Grounded-SAMGrounded-Segment-Anything(Grounded-SAM)是基于 Grounding DINO(检测器)和 Segment Anything Model(分割器)构建的多模态图片生成工作流,是一个热门的开源项目。Grounded-SAM 可直接搭配 Stable Diffusion 进行可控文图生成。2.3.1 Grounding DINOGrounding DINO:零样本的图像检测模型,能够通过文本描述检测图中物体,生成矩形框。2.3.2 Segment Anything Model(SAM)Segment Anything Model(SAM):高质量的图像分割模型,可通过辅助点和辅助框作为提示,进行图像分割。其训练集包括超过 10 亿张蒙版,1100 万张图片,是迄今为止最大的用于图像分割的开源数据集。官方宣称, SAM 已经学会了“物体是什么”的一般性概念,因此可无需额外训练进行图片分割。3 无代码实现图像编辑(手动蒙版)实验步骤如下:3.1 读者可以点击这里下载本实验所用图片。3.2 在 CloudFormation-堆栈-输出中,找到 NotebookURL 链接,并打开 SageMaker Notebook Instance。3.3 点击 Terminal,并依次输入下面的命令,下载 Realistic Vision V1.3 模型。cd SageMaker/ wget https://huggingface.co/SG161222/Realistic_Vision_V1.3/resolve/main/Realistic_Vision_V1.3-inpainting.ckpt sudo mv Realistic_Vision_V1.3-inpainting.ckpt ./sd-webui/data/StableDiffusion/ 上面脚本中我们使用了 HuggingFace 上的 Realistic Vision V1.3 模型。您也可以从 CIVITAI 官网上直接下载 Realistic Vision V2.0,两者的最终效果十分接近。3.4 在 WebUI 中选择我们刚下载的预训练模型 Realistic Vision V1.3 作为基础模型,并选择 img2img 中的 Inpaint 功能作为我们的任务类型。所谓 Inpaint,其实是图生图任务的一个子分类,也就是通过蒙版(Mask)进行图像补全,或者是局部图像生成。3.5 上传原图并用画笔手动画出想要编辑区域的蒙版。3.6 按照下图配置 Inpaint 相关参数。这边我们选择只对蒙版部分进行补全生成。3.7 上传原始图片到 ControlNet 并按照下图配置相关的参数。ControlNet 功能可以帮助加强对最终图像生成的控制力。此处我们选择 Canny 预处理器(Preprocessor),并选择对应 Canny 模型(Model)用以生成描边图,降低“Canny lower threshold”可以帮助我们保留更多原图中边缘的细节,如图所示。ControlNet 模型的安装请参考 FAQ,Canny 等模型解释请参考 ControlNet 部分中的模型释义表。3.8 参考以下模版输入提示词,并点击生成。Prompt = an extremely beautiful dreamy white lace cotton dress with delicate see-through sleeves, extra detailes, (high detailed skin:1.2), 8k uhd, dslr, soft lighting, high quality, film grain, Fujifilm XT3, photorealisticNegative Prompt = (deformed iris, deformed pupils, semi-realistic, cgi, 3d, render, sketch, cartoon, drawing, anime:1.4), text, close up, cropped, out of frame, worst quality, low quality, jpeg artifacts, ugly, duplicate, morbid, mutilated, extra fingers, mutated hands, poorly drawn hands, poorly drawn face, mutation, deformed, blurry, dehydrated, bad anatomy, bad proportions, extra limbs, cloned face, disfigured, gross proportions, malformed limbs, missing arms, missing legs, extra arms, extra legs, fused fingers, too many fingers, long neck3.9 等待生成之后我们可获得如下结果。小结:上述流程虽然简单易操作,但是如果每次生成蒙版都需要手动生成会非常费时。下面我们将介绍通过代码方式进行图片编辑。4 代码化全自动实现图像编辑(自动蒙版)将 Grounding DINO(检测器)和 Segment Anything Model(分割器)这两个关键组件结合后,Grounded-SAM 即成为异常强大的视觉应用组合,可通过文本提示词(Text Prompt)完成 CV 语义分割。再搭配 Stable Diffusion,无疑为多模态工程化图片生成提供了更多可能性。实验步骤如下:图片来自 https://github.com/IDEA-Research/Grounded-Segment-Anything4.1 在 CloudFormation-堆栈-输出中,找到 NotebookURL 链接,并打开 SageMaker Notebook Instance。4.2 点击 Terminal,并依次输入下面的两行命令,将代码 Clone 到本地。cd SageMaker/ git clone https://github.com/DearAmber/miaobishenghua2.git4.3 在左侧路径选择进入“miaobishenghua2”,并双击“g-seg-local.ipynb”文件。同时选择“conda_pytorch_p39”作为我们的环境。4.4 顺序运行所有的代码片段。整个流程包括三个主要部分。4.4.1 将展示如何使用 Grounding DINO,通过文本描述生成预测矩形框。例如这里,我们想要选择的是绿色的连衣裙,即可输入“green dress”作为提示词并得到下图。我们还可以通过调整“box_threshold”来控制识别的置信度,调整“text_threshold”来控制提示词相关性,以此对最终结果进行筛选(详见代码)。矩形框结果将作为下面分割任务的辅助提示(Prompt)。我们也可以试试将提示词换成“white dress with blue patterns”,则会得到下面的矩形框。而图中最左边的裙子虽然也是白色,但是因为没有蓝色的图案因此并没有被选中。4.4.2 将展示如何使用 Segment Anything 根据上一步的预测矩形框,生成分割蒙版。这里我们将预测框作为辅助提示输入,并通过“multimask_output=False”限定只输出一个分割蒙版(详见代码),最终将得到下图的结果。Segment Anything 本身还支持单点和多点作为辅助提示,这样我们可以在只有原图的情况下,也能快速自动化地批量生成蒙版。4.4.3 我们将展示如何使用 Stable Diffusion 的 Inpainting 模型来替换上面蒙版中的内容。我们在实验时使用了 ml.g5. 2xlarge 的实例,请根据您的实例类型来调整 os.environ["CUDA_VISIBLE_DEVICES"] = "0"。这里,我们换用 stable-diffusion-2-inpainting 模型生成了下图(详见代码)。小结:基于以上方式,我们可以更轻松、更高效地实现全自动图像编辑和素材生成。在实际的生产环境中,我们往往需要更复杂的工程架构来进一步优化整个工作流。需要注意的是,此部分代码中使用的 Stable Diffusion 来自于 HuggingFace diffusers,而考虑到一般企业内部中,团队协作更紧密(设计师与技术开发),建议使用 Stable Diffusion WebUI API 来实现代码化图片生成和产出的工作流,以保证参数等信息的统一性。此方案示例可作为全自动工作流的快速验证参考。第三部分 常见问题1 如何更新到方案最新版本(0405)?安装方法请参考《生花妙笔信手来 – 基于 SageMaker Notebook 快速搭建托管的 Stable Diffusion – AI 作画可视化环境》的安装过程。WebUIVersion 默认使用 0405 版本。目前还不支持在已有环境更新,需要重新安装。2 方案部署时,遇到服务限额问题如何处理?部署本方案之前,请先在相应区域的 Service Quota 中确认 SageMaker Notebook 相应的资源额度(例如 ml.g4dn.2xlarge for notebook instance usage)已经获得提升,具体步骤参考链接。3 如何使用从互联网下载的模型?在 Cloud formation 的 Outputs 页面,打开 NotebookURL 对应的链接在左侧导航栏,定位到 sd-webui/data 目录,如下图所示对于 Stable Diffusion 的基础模型,放在 StableDiffusion 目录对于 Lora 模型,放在 Lora 目录对于 ControlNet 模型,放在 ContrloNet 目录用户微调(finetune)的模型,默认也放在 StableDiffusion 目录4 如何在 Automatic 和 InvokeAI 之间进行切换?在 Cloud formation 的 Outputs 页面,打开 NotebookURL 对应的链接打开一个终端,依次点击 File->New->Terminal进入到如下目录cd SageMaker/sd-webui启动 Automatic WebUI./startAuto.sh启动 Invoke WebUI./startInvoke.sh5 关于版本管理我们会保留最新的两个方案版本: 0405 和 0316。总结本文介绍了针对上一篇系列博客方案的新增功能,如:新增支持 ControlNet 与 Image Browser 插件,新增支持美西 2 US West(Oregon)区域。并详细介绍了基于本方案及相关 SageMaker 服务,在电商广告行业下,使用 Grounded-SAM 进行营销素材生成的方法与步骤,包括:1. 通过 ControlNet 中的 Canny 模型配合 Inpaint 功能进行无代码图像编辑,以及2. 通过 Grounded-SAM(Grounding DINO 和 Segment Anything)利用代码进行图像编辑。此外,我们将会持续在“生花妙笔信手来”系列中,添加更多贴近客户场景的方案。如果您有任何相关的问题或需求,欢迎随时联系我们进一步交流。
2023年05月11日
253 阅读
0 评论
0 点赞
2023-04-25
Chat GPT账号分享
账号来源于网络,且用且珍惜隐藏内容,请前往内页查看详情
2023年04月25日
700 阅读
6 评论
0 点赞
2023-04-24
0白嫖ChatGPT 120美金账户教程
教程如下:1注册账号https://depay.depay.one/web-app/register-h5?invitCode=950980&lang=zh-cn2.下载安卓APKhttps://www.depay.one/zh-cn/download.html3.登录账号4.开卡选择第一个,不花钱输入个人信息视频拍摄读出数字,后提交5分钟审核成功后6绑卡,获得120美金余额,重要操作教程如下先登录OpenAI官方,右上角选择manage account,然后选择payment methods,选择add payment按要求输入刚才的卡号,和cvcaddress要选择国外免税账单地址,没有的私聊我免费提供几个地址:免费账单地址第一地址邮编日本 北海道Mitsui Outlet Park Sapporo Kitahiroshima: 〒061-1275 北海道北広島市月浜町吉田3番地Mitsui Outlet Park Sapporo Kitahiroshima: 061-1275日本 北海道Sapporo Drug Store: 〒064-0804 北海道札幌市中央区南4条西4丁目1-1Sapporo Drug Store: 064-0804日本 北海道New Chitose Airport International Terminal: 〒066-0012 北海道千歳市美々新千歳空港3-2New Chitose Airport International Terminal: 066-0012日本 北海道Aeon Mall Sapporo Shiroishi: 〒003-8585 北海道札幌市白石区東米里1丁目2-1Aeon Mall Sapporo Shiroishi: 003-8585日本 北海道Nitori Furniture Store Sapporo: 〒004-0006 北海道札幌市厚別区上野幌6条1丁目1-1Nitori Furniture Store Sapporo: 004-00067充值USDT有需要的加微信联系8兑换9有了USD,回到首页——充值——将USD充入你的开的卡里,就能激活使用了
2023年04月24日
310 阅读
0 评论
0 点赞
2023-03-07
免费获取亚马逊国外云桌面的保姆级流程
亚马逊云桌面 ,远程到国外的云桌面,随便你怎么搞,无限注册!亚马逊云活动这次非常给力,云服务器试用12个依然存在!怎么获取?保姆级流程拿去。建议先注册几个小时后,等待验证通过再去开通服务器!!!注册亚马逊账号亚马逊官网注册,选择个人注册或者企业注册,根据个人情况!!!亚马逊中国区官网: https://www.amazonaws.cn (国内亚马逊注册目前仅支持企业,需提供企业营业执照,进行认证)亚马逊国际官网: https://aws.amazon.com (国际亚马逊注册支持个人和海外企业,需双币信用卡,进行认证)用户名、密码!!!建议记事本保存,避免我这种注册多的,容易忘记!!!(如果已有账号,也推荐你去新注册一个,毕竟活动大部分都是针对新用户,当然活动期内无限注册,换句话就是无限续期)完善资料,根据自己情况填写联系个人信息或企业信息,若是长期账号的建议认真填写!认证个人认证,需要双币信用卡进行认证;企业认证,会有个亚马逊来电认证,需输入屏幕验证码支撑,免费的要啥自行车,走起!到此注册结束。等待亚马逊认证,周期一般几分钟,就可以收到注册成功的邮件信息,但部分服务则需要等待几个小时(如云服务器、云桌面等服务),官方邮件只写了24小时以内,呵呵呵。当然,也可以登录亚马逊官网查看状态!看到上图就继续等待吧。第二步,开通云桌面服务2.1)点击登录,默认登录会显示你的登录ID,很重要!!!建议收藏一下(我曾经因为注册邮箱忘记、注册ID忘记、导致亚马逊云无法登陆。。。)也可以去你注册邮箱,也会收到亚马逊的注册ID邮件注:如注册服务未完成,请等待一下,一般几个小时即可。下图为亚马逊邮件提示ID2.2)登录,ID在你的注册邮件里,用户名和密码是1.2步骤让你保存的。2.3)登录后,默认页面为控制台,从“服务”中选择“ Lightsail”2.4)创建实例2.5)选择云桌面区域及系统虚拟桌面的地理位置;操作系统平台(这里推荐初学者选择Windows,方便管理, 虚拟桌面系统版本没有特殊要求就选择最新版windows即可);配置和付费计划(目前免费试用的配置都可以体验3个月);选择好以后,点击创建实例。2.6)等待桌面创建完成2.7)连接桌面(正在运行表示启完成),点击“小电脑”图标,即可远程连接桌面2.8)桌面来了,就像你自己的电脑一样,正常办公娱乐是没问题的,但部分牵涉底层开发类的不太实用,毕竟是虚拟机处理的桌面。换句话说,这免费的要啥自行车!2.9)如果不想频繁登录亚马逊官网,可以开启这个云桌面的RDP、vnc远程(或者向日葵、Todesk类的远程工具),直接到本地连接,有兴趣的可以自己折腾。亚马逊的国外远端云桌面,就像你在家远程了一个国外的电脑,你可以明正言顺的使用这台云电脑科学上网。。。哈哈哈要啥自行车、要啥socket代理、要啥ssr、要啥vmess、要啥v2ray发散性思维,学以致用,误入歧途!!!简述总结:对比国内的云桌面,优势就是在于国外丰富的学习资源,可以让你科学上网,至于客户端连接及网速根据自己学习、办公场景,仁者见仁智者见智。
2023年03月07日
455 阅读
4 评论
0 点赞
2023-01-13
K8S部署grafana
{mtitle title="yaml文件"/}apiVersion: v1 kind: PersistentVolumeClaim metadata: name: grafana-pvc namespace: kube-mon spec: accessModes: - ReadWriteOnce resources: requests: storage: 10Gi storageClassName: nfs-client --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: grafana name: grafana namespace: kube-mon spec: selector: matchLabels: app: grafana template: metadata: labels: app: grafana spec: securityContext: fsGroup: 472 supplementalGroups: - 0 containers: - name: grafana image: grafana/grafana:8.4.4 imagePullPolicy: IfNotPresent ports: - containerPort: 3000 name: http-grafana protocol: TCP resources: requests: cpu: 250m memory: 750Mi volumeMounts: - mountPath: /var/lib/grafana name: grafana-pv volumes: - name: grafana-pv persistentVolumeClaim: claimName: grafana-pvc --- apiVersion: v1 kind: Service metadata: name: grafana namespace: kube-mon spec: ports: - port: 3000 protocol: TCP targetPort: http-grafana selector: app: grafana type: NodePort
2023年01月13日
247 阅读
0 评论
0 点赞
2023-01-13
K8S部署nexus
{mtitle title="yaml文件"/}apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nexus-pvc # 自定义 namespace: nexus # 自定义,与本文前后所有命名空间保持一致 labels: pvc: nexus-pvc # 自定义 spec: storageClassName: nfs-client # 创建的StorageClass的名字 accessModes: - ReadWriteOnce resources: requests: storage: 20Gi --- kind: Deployment apiVersion: apps/v1 metadata: name: nexus3 # 自定义 labels: app: nexus3 # 自定义 namespace: nexus # 自定义,与本文前后所有命名空间保持一致 spec: replicas: 1 # 副本的数量 selector: matchLabels: app: nexus3 template: metadata: labels: app: nexus3 spec: containers: - name: nexus3 image: sonatype/nexus3:3.42.0 ports: - name: nexus3-8081 containerPort: 8081 # 容器端口 protocol: TCP resources: limits: memory: 6G cpu: 1000m imagePullPolicy: IfNotPresent volumeMounts: - name: data mountPath: /nexus-data # 数据路径挂载出来 restartPolicy: Always volumes: - name: data persistentVolumeClaim: claimName: nexus-pvc # PVC的名字 readOnly: false #volumes: # - name: nexus-data # nfs: # path: /data/nfs/graph/nexus-data # server: 192.168.58.106 --- kind: Service apiVersion: v1 metadata: name: nexus3 namespace: nexus labels: app: nexus3 spec: type: NodePort ports: - port: 8081 targetPort: 8081 nodePort: 30520 # 对外开发的端口,自定义 selector: app: nexus3
2023年01月13日
386 阅读
2 评论
0 点赞
2022-12-17
部署 KubeSphere
部署 KubeSphere确保您的机器满足安装的前提条件之后,可以按照以下步骤安装 KubeSphere。官方文档:https://kubesphere.io/zh/docs/v3.3/quick-start/minimal-kubesphere-on-k8s/wget https://github.com/kubesphere/ks-installer/releases/download/v3.3.1/kubesphere-installer.yaml wget https://github.com/kubesphere/ks-installer/releases/download/v3.3.1/cluster-configuration.yamlcluster-configuration.yaml 这个文件搜索 devops,改成truekubectl appl -f kubesphere-installer.yaml kubectl appl -f cluster-configuration.yaml检查安装日志:kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l 'app in (ks-install, ks-installer)' -o jsonpath='{.items[0].metadata.name}') -f使用 kubectl get pod --all-namespaces 查看所有 Pod 是否在 KubeSphere 的相关命名空间中正常运行。如果是,请通过以下命令检查控制台的端口(默认为 30880):kubectl get svc/ks-console -n kubesphere-system确保在安全组中打开了端口 30880,并通过 NodePort (IP:30880) 使用默认帐户和密码 (admin/P@88w0rd) 访问 Web 控制台。登录控制台后,您可以在系统组件中检查不同组件的状态。如果要使用相关服务,可能需要等待某些组件启动并运行。
2022年12月17日
304 阅读
0 评论
1 点赞
2022-12-17
K8S Nubale3.3部署
K8S Nubale3.3部署192.168.58.106master192.168.83.227node192.168.83.228node192.168.83.232node官方文档https://docs.nebula-graph.com.cn/3.3.0/nebula-operator/4.connect-to-nebula-graph-service/部署本地卷插件(如果本地已经部署过一个可跳过)curl https://github.com/kubernetes-sigs/sig-storage-local-static-provisioner/archive/v2.4.0.zip unzip v2.4.0.zip修改 v2.4.0/helm/provisioner/values.yaml classes 部分:将 hostDir: /mnt/fast-disks 改成 hostDir: /mnt/disks, storageClass: true 改成 storageClass: true。然后执行: helm install local-static-provisioner --namespace default sig-storage-local-static-provisioner/helm/provisioner# 查看 local-static-provisioner 部署情况 $ helm list NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION local-volume-provisioner default 1 2021-02-10 11:06:34.3540341 +0800 CST deployed provisioner-2.4.0 2.4.0安装 Helmwget https://get.helm.sh/helm-v3.5.2-linux-amd64.tar.gz tar -zxvf helm/helm-v3.5.2-linux-amd64.tgz mv linux-amd64/helm /usr/bin/helm安装 NebulaGraph Operator添加 NebulaGraph Operator chart 仓库至 Helm。helm repo add nebula-operator https://vesoft-inc.github.io/nebula-operator/charts拉取最新的 Helm 仓库。helm repo update参考 Helm 仓库获取更多helm repo相关信息。安装 NebulaGraph Operator。helm install nebula-operator nebula-operator/nebula-operator --namespace=<namespace_name> --version=${chart_version}例如,安装1.3.0版的 Operator 命令如下。helm install nebula-operator nebula-operator/nebula-operator --namespace=nebula-operator-system --version=1.3.0上述命令中的nebula-operator-system为用户创建的命名空间。如果用户未创建该命名空间,可以执行kubectl create namespace nebula-operator-system进行创建。用户也可创建其他命名空间。1.3.0为 NebulaGraph Operator chart 的版本。当 Chart 中只有一个默认版本时,可不指定。执行helm search repo -l nebula-operator查看 Chart 版本。用户可在执行安装 NebulaGraph Operator chart 命令时自定义其配置。更多信息,查看下文自定义配置 Chart。如果服务器无法连接外网,可以下载 NebulaGraph Operator chart 至本地,再传到服务器。helm pull nebula-operator/nebula-operator --version=1.3.0--version: 升级版本号。如不指定,则默认为最新版本。卸载 NebulaGraph Operator卸载 NebulaGraph Operator chart。helm uninstall nebula-operator --namespace=<nebula-operator-system>删除 CRD。kubectl delete crd nebulaclusters.apps.nebula-graph.io使用 Kubectl 部署 NebulaGraph 集群前提条件安装 NebulaGraph Operator设置 Kubernetes node节点# 下面是 Kubernetes 节点列表,我们需要设置 node 节点的调度标签。可以将 192.168.83.227,192.168.83.228,192.168.83.232 打上 nebula=cloud: "cloud" 的标签。 kubectl lable node 192.168.83.227 nebula="cloud" --overwrite kubectl lable node 192.168.83.228 nebula="cloud" --overwrite kubectl lable node 192.168.83.232 nebula="cloud" --overwrite创建集群本文以创建名为nebula的集群为例,说明如何部署 NebulaGraph 集群。创建集群。社区版集群示例,创建名为apps_v1alpha1_nebulacluster.yaml的文件。 apiVersion: apps.nebula-graph.io/v1alpha1 kind: NebulaCluster metadata: name: nebula spec: graphd: resources: requests: cpu: "500m" memory: "500Mi" limits: cpu: "1" memory: "1Gi" replicas: 3 image: vesoft/nebula-graphd version: v3.3.0 logVolumeClaim: resources: requests: storage: 2Gi storageClassName: fast-disks metad: resources: requests: cpu: "500m" memory: "500Mi" limits: cpu: "1" memory: "1Gi" replicas: 3 image: vesoft/nebula-metad version: v3.3.0 logVolumeClaim: resources: requests: storage: 2Gi storageClassName: fast-disks dataVolumeClaim: resources: requests: storage: 2Gi storageClassName: fast-disks storaged: resources: requests: cpu: "500m" memory: "500Mi" limits: cpu: "1" memory: "1Gi" replicas: 3 image: vesoft/nebula-storaged version: v3.3.0 logVolumeClaim: resources: requests: storage: 2Gi storageClassName: fast-disks dataVolumeClaims: # 从 Operator 1.3.0 开始,支持挂载多个数据盘。 - resources: requests: storage: 2Gi storageClassName: fast-disks - resources: requests: storage: 2Gi storageClassName: fast-disks enableAutoBalance: true reference: name: statefulsets.apps version: v1 schedulerName: default-scheduler nodeSelector: nebula: cloud imagePullPolicy: Always unsatisfiableAction: ScheduleAnyway参数描述如下:参数默认值描述metadata.name-创建的 NebulaGraph 集群名称。spec.graphd.replicas1Graphd 服务的副本数。spec.graphd.imagesvesoft/nebula-graphdGraphd 服务的容器镜像。spec.graphd.versionv3.3.0Graphd 服务的版本号。spec.graphd.service-Graphd 服务 Service 配置。spec.graphd.logVolumeClaim.storageClassName-Graphd 服务的日志盘存储配置。spec.metad.replicas1Metad 服务的副本数。spec.metad.imagesvesoft/nebula-metadMetad 服务的容器镜像。spec.metad.versionv3.3.0Metad 服务的版本号。spec.metad.dataVolumeClaim.storageClassName-Metad 服务的数据盘存储配置。spec.metad.logVolumeClaim.storageClassName-Metad 服务的日志盘存储配置。spec.storaged.replicas3Storaged 服务的副本数。spec.storaged.imagesvesoft/nebula-storagedStoraged 服务的容器镜像。spec.storaged.versionv3.3.0Storaged 服务的版本号。spec.storaged.dataVolumeClaims.resources.requests.storage-Storaged 服务的数据盘存储大小,可指定多块数据盘存储数据。当指定多块数据盘时,路径为:/usr/local/nebula/data1、/usr/local/nebula/data2等。spec.storaged.dataVolumeClaims.resources.storageClassName-Storaged 服务的数据盘存储配置。若不指定,则使用全局的存储配置。spec.storaged.logVolumeClaim.storageClassName-Storaged 服务的日志盘存储配置。spec.storaged.enableAutoBalancetrue是否自动均衡数据。spec.reference.name-依赖的控制器名称。spec.schedulerName-调度器名称。spec.imagePullPolicyNebulaGraph 镜像的拉取策略。关于拉取策略详情,请参考 Image pull policy。镜像拉取策略。创建 NebulaGraph 集群。kubectl create -f apps_v1alpha1_nebulacluster.yaml查看 NebulaGraph 集群状态。kubectl get nebulaclusters.apps.nebula-graph.io nebula使用 Helm 部署 NebulaGraph 集群前提条件安装 NebulaGraph Operator创建 NebulaGraph 集群添加 NebulaGraph Operator chart 仓库至 Helm(如已创添加,略过前面 1 至 2 步,从第 3 步开始执行)。helm repo add nebula-operator https://vesoft-inc.github.io/nebula-operator/charts更新 Helm 仓库,拉取最新仓库资源。helm repo update设置 Kubernetes node节点# 下面是 Kubernetes 节点列表,我们需要设置 node 节点的调度标签。可以将 192.168.83.227,192.168.83.228,192.168.83.232 打上 nebula=cloud: "cloud" 的标签。 kubectl lable node 192.168.83.227 nebula="cloud" --overwrite kubectl lable node 192.168.83.228 nebula="cloud" --overwrite kubectl lable node 192.168.83.232 nebula="cloud" --overwrite配置 Helm 的环境变量。export NEBULA_CLUSTER_NAME=nebula # NebulaGraph 集群的名字。 export NEBULA_CLUSTER_NAMESPACE=nebula # NebulaGraph 集群所处的命名空间的名字。 export STORAGE_CLASS_NAME=fast-disks # NebulaGraph 集群的 StorageClass。为 NebulaGraph 集群创建命名空间(如已创建,略过此步)。kubectl create namespace "${NEBULA_CLUSTER_NAMESPACE}"创建 NebulaGraph 集群。helm install "${NEBULA_CLUSTER_NAME}" nebula-operator/nebula-cluster \ --namespace="${NEBULA_CLUSTER_NAMESPACE}" \ --set nameOverride=${NEBULA_CLUSTER_NAME} \ --set nebula.storageClassName="${STORAGE_CLASS_NAME}"查看 NebulaGraph 集群创建状态。kubectl -n "${NEBULA_CLUSTER_NAMESPACE}" get pod -l "app.kubernetes.io/cluster=${NEBULA_CLUSTER_NAME}"返回示例:NAME READY STATUS RESTARTS AGE nebula-graphd-0 1/1 Running 0 5m34s nebula-graphd-1 1/1 Running 0 5m34s nebula-metad-0 1/1 Running 0 5m34s nebula-metad-1 1/1 Running 0 5m34s nebula-metad-2 1/1 Running 0 5m34s nebula-storaged-0 1/1 Running 0 5m34s nebula-storaged-1 1/1 Running 0 5m34s nebula-storaged-2 1/1 Running 0 5m34s删除集群使用 Helm 删除集群的命令如下:helm uninstall "${NEBULA_CLUSTER_NAME}" --namespace="${NEBULA_CLUSTER_NAMESPACE}"或者使用真实值删除集群,例如:helm uninstall nebula --namespace=nebula
2022年12月17日
194 阅读
0 评论
0 点赞
2022-10-27
SSH连接服务器失败
重启sshd服务,导致ssh连接不上服务器,经过排查,查看日志发现出现一下错误Oct 25 12:59:00 kdgcapp-58-106 sshd[7413]: PAM unable to dlopen(/usr/lib64/security/pam_stack.so): /usr/lib64/security/pam_stack.so: cannot open shared obje... directory Oct 25 12:59:00 kdgcapp-58-106 sshd[7413]: PAM adding faulty module: /usr/lib64/security/pam_stack.so解决方法:经过排查发现是ssh rpm 升级后会修改/etc/pam.d/sshd 文件,如下: #%PAM-1.0 auth required pam_stack.so service=system-auth account required pam_nologin.so account required pam_stack.so service=system-auth password required pam_stack.so service=system-auth session required pam_stack.so service=system-auth 修改为之前的即可。修改后的文件如下: #%PAM-1.0 auth required pam_sepermit.so auth include password-auth account required pam_nologin.so account include password-auth password include password-aut # pam_selinux.so close should be the first session rule session required pam_selinux.so close session required pam_loginuid.so # pam_selinux.so open should only be followed by sessions to be executed in the user context session required pam_selinux.so open env_params session optional pam_keyinit.so force revoke session include password-auth
2022年10月27日
642 阅读
0 评论
0 点赞
2022-10-27
续订Office365E5订阅
前言 Microsoft 365 E5 Renew XMicrosoft 365 E5 Renew X是一款网页版的E5续订服务,其依赖网页浏览器呈现支持用户多端操作,完全将E5账户API调用托管在了服务器端因此用户无需电脑也可使用。 Microsoft 365 E5 Renew X 由来Microsoft 365 E5 Renew X为Microsoft 365 E5 Web的升级版,相对于旧版其增强了管理功能且更容易部署,API调用内核继承于续订桌面版软件Microsoft 365 E5 Renew Plus。 一、注册Azure应用程序 1、登录Azure应用注册,账号就是上个教程中申请到的管理员账号(账户名类似XXXX@YYYY.onmicrosoft.com格式),然后点击“新注册”。 2、名称随意填,“受支持的账户类型”选择“任何组织目录(任何 Azure AD 目录 - 多租户)中的帐户和个人 Microsoft 帐户(例如,Skype、Xbox)”。重定向不用填,然后点击注册。 3、点击进入新创建的应用后,点击“概述”,复制保存“应用程序(客户端)ID”的值,以后会用。然后点击“添加重定向URL” 4、点击“添加平台”,再点击“移动和桌面应用程序”。 5、更改图中该项设置为“是”,然后点击保存。 二、配置API权限 配置应用程序的API权限(重要) 小白提示:建议选择“委托的权限(用户登录)”该权限类型,调用API较多,操作步骤较少简单粗暴,调用成功几率高 注册的应用程序API权限类型有两种,其主要区别如下表所示: 权限类型委托的权限(用户登录)应用程序权限(非用户登录)官方释义应用程序必须以登录用户身份访问API应用程序在用户未登录的情况下作为后台服务或守护程序运行需要的信息账户名称+账户密码+应用程序(客户端)ID账户名称+客户端机密+应用程序(客户端)ID功能影响程序中所有API均可调用部分API权限受限无法调用(官方限制)API权限配置可由PC版程序自动配置添加API权限必须手动配置API权限显示颜色标识蓝色深青色 以下是登录或非登录所需要的权限列表: 最后根据所选的API权限类型在:2.1 选择“委托的权限(用户登录)”类型的API或者2.2 选择“应用程序权限(非用户登录)”类型的API中选择性阅读。 选择“委托的权限” 添加完成的效果如图如果没有“代表XXX授予管理员同意”按钮 说明该账号不是管理员账号 换登管理员账号创建应用 最后点击代表XXX授予管理员同意,对话框选择“是”(该图包含了当前程序“委托的权限(用户登录)”全部API所需要的权限)。 选择“应用程序权限(非用户登录)”类型的API 和上面一样把下图的权限开启即可 创建客户端密码 1.点击“证书密码”-“新客户端密码”-“24个月”-“添加” 2.点击“值”该列中的“复制”(不要复制"ID"列中的值),并立即将该密码保存至电脑,保存的值即为“客户端密码”, 注:该值必须立即保存,退出该页面后将永远无法查看。 3 将账号API调用托管至服务创建一个新的E5子账户(可选步骤)登入E5管理员账户进入管理员界面,创建一个新的子账户,使用这个子账户登录程序调用API。为什么建议这样做:Microsoft 365 E5 Renew中的部分API包含了写操作,例如邮件和Onedrive的API,这些API在随机模式下会生成大量垃圾邮件和文件(虽然单独为此设立了一个文件夹),部分人可能会对此行为非常介意,而且程序频繁的读写可能会对您正常使用账户造成影响,因此不建议使用管理员账户登录。 本文提供两种方法运行:Windows程序下载链接在文末 API配置成功后,打开软件的开机自启动即可 三、docker版部署 1、打开终端,输入安装命令: git clone https://github.com/MoeXiaoHei/Microsoft365_E5.git #创建容器 docker run -dit \ -v $PWD/Microsoft365_E5_Renew_X/Deploy:/app/Deploy \ -v $PWD/Microsoft365_E5_Renew_X/appdata:/app/appdata \ -p 1066:1066 \ --name Microsoft365 \ --restart always \ moexiaohei/microsoft-365-e5:latest 密码是12345678 容器创建完成后,打开1066端口。 2、输入ip:1066进入网页版页面。 默认密码12345678 3、登录以后点击“添加运行账号”,输入账号,之前保存的ID,密码,选择“登录调用方式”,最后点击“添加运行账号”即可。 4、添加完成后,续订服务就已经配置成功了。 注意: 1、一定不要打开双重验证。 2、续订很玄学,只能说是通过这种手段提高续订概率。 3、如有疑问可以查看作者官方文档Microsoft 365 E5 Renew Plus 帮助文档 - Wiki 分享 (coding.net) 最后,再次附上作者的教程E5 调用API续订服务:Microsoft 365 E5 Renew X_SundayRX的博客-CSDN博客_e5续订。 {mtitle title="软件"/}隐藏内容,请前往内页查看详情
2022年10月27日
603 阅读
3 评论
0 点赞
2022-10-27
免费获得Office365
前言 Office365开发版E5是为开发人员提供的,是微软的官方活动,申请Office 365开发者计划可以获得为期3个月的免费Office365 E5。而E5计划就包含了25个用于所有Office 365 应用的许可证。 申请账号 Microsoft 365开发者人员中心 2、登录账号 3、注册365开发人员,国家填China,公司随便填,然后接受条款,点下一步 4、这里随便填,然后下一步 5、设置365沙盒,选择可配置沙盒 6、在弹出的页面中输入一个你能记得住的用户名和域,然后记住你的"用户名@域.onmicrosoft.com",点继续。 这里手机号验证需要科学上网,这个自己解决,如果科学上网还是不能发送短信,那就把页面调整英文 7、现在,我们已经申请好了E5订阅了,并一次性申请了25个用户许可证。如果你只是自己用,现在已经可以使用"用户名@域.onmicrosoft.com"和之前设置的密码登录你电脑上的Office了。 分配账号与安装365 之前说过E5订阅有25个用户许可证,我们可以点击 转到订阅或者登录 https://www.office.com/?auth=2 分配账号给自己的朋友这里一定要加上 ?auth=2 ,否则会进入个人版office365的登录界面,无法使用这里的组织账号登录点击 安装office可以安装office365,默认会安装所有的软件。若有自定义的需求,可以使用office tool plus安装。 点击下方的 管理可以分配账号,进入新页面点击 用户——活跃用户——添加用户即可。 设置5T网盘容量 默认onedrive容量是1T,但是可以通过设置更改为5T。1.点击365主页的onedrive图标,若提示“我们目前还在 OneDrive 上设置文件”可以先跳过本步骤,先完成下面的操作。 2.打开 https://admin.onedrive.com/?v=StorageSettings ,也可以在 管理中心——所有管理中心——onedrive中找到,更改默认存储为5012GB。 下次分享了续期教程
2022年10月27日
352 阅读
0 评论
1 点赞
2022-10-11
搭建jsdelivr镜像站
如果不想搞的话,可以用我的 https://jsd.ucbk.cn新建一个网站,然后把下面内容覆盖到nginx配置文件server { listen 80; listen 443 ssl http2; # 请更改为你的证书路径 ssl_certificate fullchain.pem; ssl_certificate_key privkey.pem; # 请更改为你的镜像域名 server_name jsd.ucbk.cn; location / { proxy_pass https://cdn.jsdelivr.net; proxy_set_header Host $proxy_host; proxy_set_header Accept-Encoding ''; proxy_ssl_server_name on; proxy_ssl_name $proxy_host; proxy_redirect / /; # Proxy Cache proxy_cache jsdelivr; proxy_cache_lock on; proxy_cache_lock_timeout 15s; proxy_cache_use_stale updating; proxy_cache_background_update on; proxy_cache_key $host$request_uri; proxy_cache_valid 200 301 302 30d; proxy_cache_valid 500 501 502 503 15s; proxy_cache_valid any 5m; # Replace Domain sub_filter_once off; sub_filter_types application/javascript application/json text/xml text/css; sub_filter '$proxy_host' '$host'; } } # 缓存路径请根据需要更改 proxy_cache_path /var/tmp/nginx/jsdelivr levels=1:2 use_temp_path=off keys_zone=jsdelivr:300m inactive=30d max_size=30g;之后直接把网站涉及到cdn.jsdelivr.net都改成你自己的就可以了,如果不想改的话直接在你网站nginx配置中加以下内容就可以了sub_filter_once off; sub_filter_types application/javascript application/json text/xml text/css; sub_filter 'cdn.jsdelivr.net' 'jsd.ucbk.cn';
2022年10月11日
519 阅读
1 评论
3 点赞
2022-10-06
本站联名导航
点击跳转
2022年10月06日
454 阅读
0 评论
0 点赞
2022-08-04
Linux 安装python3.7.6
准备依赖环境yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel expat-devel expat-devel gdbm-devel1、下载wget https://www.python.org/ftp/python/3.7.6/Python-3.7.6.tgz2、解压tar -zxvf Python-3.7.6.tgz3、建空文件夹mkdir /usr/local/python34、执行配置文件,编译,编译安装cd Python-3.7.6 ./configure --prefix=/usr/local/python3 make && make install5、建立软链接ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3 ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip36、安装virtualenvpip3 install virtualenv -i https://mirrors.aliyun.com/pypi/simple7、建立软连接ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
2022年08月04日
639 阅读
5 评论
0 点赞
2022-05-27
把程序制作成docker镜像
前言docker相关命令: 点击创建Dockerfile文件先把程序单独放一个目录,这个app目录下面就是程序文件,我在这里面创建Dockerfilecd app vim Dockerfile #(这里第一个字母要大写) FROM ubuntu:21.04 AS runtime #基本镜像 ENV DEBIAN_FRONTEND=noninteractive WORKDIR /app #创建容器的运行目录 RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #宿主机和容器时间同步 RUN echo 'Asia/Shanghai' >/etc/timezone #宿主机和容器时间同步,这个可以和上面写在一块 COPY . /app #容器的运行目录 run apt-get update \ #安装程序的相关依赖 && apt-get install -y wget \ && wget https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb \ && dpkg -i packages-microsoft-prod.deb \ && rm -rf packages-microsoft-prod.deb \ && apt-get install -y apt-transport-https \ && apt-get install -y vim \ && apt-get update \ && apt-get install -y dotnet-sdk-3.1 ENV ASPNETCORE_URLS=http://+:1066 EXPOSE 1066 #容器的端口 ENTRYPOINT ["dotnet", "Microsoft365_E5_Renew_X.dll"] #执行程序 PS:参数的含义,自己自行百度吧,这里只大概说一下打包成镜像[root@VM-12-13-centos app]# docker build -t microsoft-365-e5:1.1.0 -f Dockerfile . #docker build -t 镜像名:版本 -f Dockerfile文件 注意这里有个'.' 不要忘记了出现上图说明创建成功,然后看一下docker images创建容器docker run -dit \ -v $PWD/Microsoft365_E5_Renew_X/app/Deploy/Config.xml:/app/Deploy/Config.xml \ -v $PWD/Microsoft365_E5_Renew_X/appdata:/app/appdata \ -p 1066:1066 \ --name Microsoft365 \ --restart always \ microsoft-365-e5:1.1.0上传dockerhub首先我们先创建一下账号 https://hub.docker.com/在Linux中登录docker login输入注册的用户和密码,然后我们先给镜像打个标签,因为上传格式为 用户名/镜像名:版本,其实在build的时候就可以命名成这样docker tag microsoft-365-e5:1.1.0 用户名/microsoft-365-e5:1.1.0创建好之后,push一下,就完成了docker push 用户名/microsoft-365-e5:1.1.0
2022年05月27日
790 阅读
1 评论
0 点赞
1
2
...
11