首页 文章 精选 留言 我的

精选列表

搜索[流程优化],共10000篇文章
优秀的个人博客,低调大师

Logstash 7.8.1 发布,开源服务端数据处理流程

Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到你最喜欢的“存储库”中。目前,Logstash 7.8.1已正式发布,该版本更新内容如下: 性能改进和bug修复 修复了pipeline compilation期间的性能回归问题 修复了多个 pipeline shutdown和 reloadingedit 的问题 Beats/TCP /HTTPInput Plugins 的依赖性变化 Plugins Xml Filter - 4.1.1 修复:处理事件时引发的异常不再使 pipeline崩溃#73 Beats Input - 6.0.11 更新了 jackson databind 和 Netty 依赖关系。此外,此版本还删除了对tcnative和boringssl的依赖,改用 JVM 提供的密码器。如果未安装 JCE 无限强度管辖区策略,这可能导致可用的密码更少。(从 u161 开始的 JDK 版本都默认安装了这个策略。)#393 添加了错误处理以检测 ssl 证书或密钥文件是否无法读取#394 Elasticsearch Input - 4.6.2 添加了 scroll clearing 和更好的 scroll expiration处理方法#128 [DOC]删除了过时的兼容性声明#124 ...... 更多内容可查看发布说明:https://www.elastic.co/guide/en/logstash/7.8/logstash-7-8-1.html#_multiple_fixes_to_pipeline_shutdown_and_reloading 上传新附件

优秀的个人博客,低调大师

Logstash 7.8.0 发布,开源服务端数据处理流程

Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到你最喜欢的“存储库”中。目前,Logstash 7.8.0已正式发布,该版本更新内容如下: 新功能和改进 Expanded JDK ecosystem 改进了测试脚本基础结构,以接受主机中存在的特定 Java 开发工具包(JDK)。更改包括将 JDK 主目录的路径导出到名为 BUILD_JAVA_HOME 的环境变量中,并由 shell 程序脚本使用它来启动测试和集成脚本。这项工作和其他 JDK14 修复程序为 Logstash 在不久的将来支持 AdoptOpenJDK 11 和 14 铺平了道路。#11786,#11839,#11935 Expanded JDK platform supportedit Logstash 可在许多不同的操作平台和 Java 开发工具包(JDK)的各种版本上运行,7.8.0 中扩展了此覆盖范围。Logstash 引入了对在 CentOS/RHEL 8.x 和 Ubuntu 20.04 上运行的支持。并为 Zulu 11、AdoptOpenJDK 11 和 Oracle/OpenJDK/AdoptOpenJDK 14 添加了新的 JDK 支持。 Elasticsearch API key support 对 API 密钥的支持已在 6.7.0 中添加到 Elasticsearch 中。通过 7.8.0,Logstash 在 Elasticsearch 输出插件中引入了对 Elasticsearch API 密钥的支持#934。 从 LDAP 到 SAML 等,Elasticsearch 中的身份验证可以通过不同的方式进行。用户/密码身份验证对于离散用户访问 Elasticsearch 有意义。对于机器对机器的通信,API 密钥访问更为常见。 Elasticsearch 输入和过滤器插件中对 API 密钥的支持以及监视和管理功能将在以后的版本中添加。 Proxy support for monitoring and centralized management 有许多用户在分段网络中部署 Logstash 和 Elastic Stack,在分段网络中,一个组件可能无法直接与另一组件或 Internet 保持联系。Logstash 插件(例如elasticsearch、http 和 SNS 输出)支持代理服务器的配置。7.8.0 版将代理支持引入监视和中央管理#11799。 性能改进和重要问题已修复 性能:共享一个 single secret store #10794 性能:改善 event.clone 内存使用率#11794 Refactor:避免在 single even中发生 array#11732 Debugging:在启动时 print RUBY_DESCRIPTION,以方便调试#11852 修复:避免从 Java 使用 gsub(frame dependent)#11874 ...... 更多详细信息可查看发布说明。 下载地址:https://elastic.co/downloads/logstash

优秀的个人博客,低调大师

Logstash 7.7.0 发布,开源服务端数据处理流程

Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到你最喜欢的“存储库”中。目前,Logstash 7.7.0已正式发布,该版本更新内容如下: 新功能和改进 Improving Logging 继过去几个版本中改进了日志记录功能之后,日志消息已得到扩展,可以更准确地显示有关插件的信息。这些更改使用户可以更好地标识带有插件或管道的日志消息。#11078、#11593、#11567 更改包括: 已添加plugin.name到所有日志条目。 已添加plugin.id和pipeline.id到 docker 镜像。 改进 Java(Pipeline)Execution Engine Logstash 7.7 中提供的改进使用户可以更好地控制 singleworker pipelines 的事件顺序。 从历史上看,当 single worker 执行 pipeline 时,将保留输入插件和输出插件之间的 Logstash 事件顺序。从未正式记录过此行为,但这是许多用户所依赖的功能。 引入 Java Execution 引擎时,它破坏了单个工作程序的订单保留。现在,通过引入pipeline.ordered设置已解决此问题。#11552,#11710 该pipeline.ordered设置允许三种模式: auto (default)-如果只有一个 pipeline worker ,则自动启用订购。 true-强制排序,同时如果有多个工作程序,则阻止启动logstash。 false-无法保证 ordering。 Notable issues fixed Fixed:添加sudo到 GPG-KEY 的 rpm import中#11684 Fixed:使用轻量级正则表达式匹配(不取决于框架)#11653 Fixed:monitoringAPI无法正确解析包括环境变量扩展在内的 ID 的问题#11592 Fixed:更改 Javadoc 以符合 JDK13的更新要求#11642 ...... 更多详细信息可查看发布说明。 下载地址:https://elastic.co/downloads/logstash

优秀的个人博客,低调大师

COVID-19使关键证书颁发机构流程面临挑战

即将开播:4月29日,民生银行郭庆谈商业银行金融科技赋能的探索与实践 在COVID-19疫情爆发前,证书颁发机构的监管已经非常复杂且艰巨,而在疫情期间,社交距离要求、隔离和就地避难命令使得面对面的会面异常困难,导致无法验证数字证书。 例如,主要Web浏览器需要证书颁发机构(CA)进行年度审核,该审核由第三方公司到现场执行。更重要的是,CA会执行密钥仪式,密钥仪式通常用于生成数字证书的公钥和私钥,甚至用于吊销或销毁受损的证书。 大多数密钥仪式不仅需要审计员,而且还需要公证人、法定代表人、正式见证人和密钥仪式“主人”以及来自CA本身的管理人员。这些仪式只能由经过授权的人员在安全设施中进行;访问这些设施通常需要多层身份验证,包括智能卡和生物识别扫描。未能进行审核或延迟密钥生成仪式可能造成毁灭性后果,这不仅影响有问题的CA,而且还影响依赖于该CA证书的每个HTTPS网站、代码签名的应用程序和经过身份验证的数字文档。 Sectigo(前身为Comodo)公司SSL首席技术官Nick France说:“我们必须进行审核,而且我们必须将密钥材料安全地保存在数据中心中,这要求人们亲自前往现场。” 在最佳情况下,此类活动需要经历精心的规划和艰苦的过程。据总部位于英国的GlobalSign公司首席信息安全官Arvid Vermote称,冠状病毒大流行使本来已经很复杂的审计和密钥管理操作更具挑战性,特别是在网络钓鱼攻击的证书滥用日益增加之际。 一些世界最大的CA机构表示,在当前情况下,他们仍在处理密钥管理活动。但是目前尚不清楚这种情况能持续多久,尤其是当情况恶化时,这对网络安全的基石意味着什么。 密钥仪式挑战 大多数CA具有广泛的业务连续性和灾难恢复计划,以确保根密钥得到保护,并在必要时进行生成和吊销。但是他们承认,他们没有为COVID-19做好充分准备。 Vermote说,几年前,GlobalSign解决了围绕根密钥的安全性和可用性的风险。该公司在三个不同的洲设有分支机构,这些分支机构拥有活跃的成对的根密钥,可在其他一个或两个分支机构因自然灾害、地缘政治破坏或其他灾难性事件而无法访问时管理密钥。 Vermote说:“我们最初解决了这些问题,我们认为这足以确保弹性。” 但是,当冠状病毒全球大流行影响GlobalSign的所有三个分支机构时,这种情况发生了变化。GlobalSign和其他CA已被认为是其运营所在的绝大多数国家和地区中必不可少的业务,这使工作人员可以旅行和访问数据中心以进行关键的密钥管理仪式。 但是由于这些活动在大流行期间涉及大量工作和风险,因此,CA已尝试调整其做法和时间表。例如,大型CA DigiCert表示,他们推迟了一些非关键密钥管理活动,以优先考虑其员工的安全,并“鼓励保持社交距离,直到这种流行病平息”。 该公司发言人说,DigiCert正在与客户联系,以预计需求并相应地进行安排,并且不会预见重大影响。 有些密钥仪式比其他仪式更容易实现。例如,France表示,Sectigo定期为下属或“子CA”执行密钥签名仪式。“我们的很多合作伙伴都有子CA,从我们的根证书授权品牌给他们。我们维护并运行该子CA –这是贴牌做法,并且,因为他们的证书是从根证书签名,所以我们需要进入数据中心并执行仪式。” 虽然密钥签名仪式的发生频率比密钥生成仪式的发生频率高,但是它们并不需要那么多的参与者;建议让审核员参与,但不强求。France说,幸运的是,Sectigo去年年底和今年大流行之前曾举行过密钥生成仪式。 他说:“我们并不是很担心,因为至少对于我们来说,那些密钥生成仪式一次生成了大量密钥。但是我们确实需要基于这些密钥创建证书,这确实需要访问这些数据中心内多层安全的机架,以离线签名设备。” 有些组织没有延迟密钥管理仪式,他们选择了不同的方法。互联网号码分配机构(IANA)管理着全球IP地址和DNS根区域分配,他们计划于4月23日在美国举行DNSSEC根签名仪式。他们没有推迟该活动,ICANN(负责监管IANA)决定在一个仪式中签署9个月的证书,而不是每隔90天进行签名。 但互联网协会互联网技术、政策和倡导负责人Olaf Kolkman认为,这种做法有利有弊。 他说:“每个季度对密钥进行签名的原因是为了降低风险。如果其中一个区域签名密钥遭到攻击,则你至少只有有限的暴露时间(为期90天)。” Kolkman曾在IANA担任加密官员,并曾参加过DNSEC根签名仪式,他指出,提前签名密钥会延长攻击窗口—当这些密钥被盗或者被暴露时。网络罪犯可以使用密钥对恶意软件进行代码签名,民族国家行为者可以将其用于精心设计的网络间谍活动-或更糟糕的是,攻击会破坏互联网本身。 他说:“你可能会看到电影里的场景。” 另外,在大流行期间举行密钥仪式会带来更多直接的健康问题。 ICANN的IANA服务副总裁Kim Davies表示,该组织试图尽量减少参加仪式的现场参加者的数量。周四的活动将有7人在现场,而过去的仪式(例如2016年DNSSEC密钥转换)现场有超过20人。 他说:“我们最终选择了一种方法,我们尝试使所有人尽可能地参与,但是以远程方式进行。”他补充说,ICANN为远程参与者建立了安全的视频会议渠道。 Davies说,尽管ICANN数据中心的礼堂可容纳30人,但安全笼或安全室却不是这样,这些区域是密钥材料存放的位置,位于硬件安全模块(HSM)中,通常为6英尺x 12英尺。该仪式每次需要三个人在安全室里。 根据Davies的说法,ICANN于1月份采取了早期行动,并为员工购买了个人保护设备(PPE)。他说:“当然,我们是否需要为仪式穿全身的防护服,还需要进行讨论,但我们最终认为这是没有必要的。” ‘路演’ 并非所有密钥管理仪式都可以延迟或提前数周或数月计划。证书颁发机构有时会出现紧急情况,需要撤消甚至销毁根密钥。在这种情况下,仪式必须进行。 GlobalSign最近遇到了这种情况。该公司发现存在合规性问题,需要销毁可能受到破坏的密钥,这迫使Vermote和其他员工在本月初进行了“路演”。 Vermote说:“通常,在规划全局密钥管理时,你会考虑密钥的生成和证书的吊销。但是你不会考虑销毁密钥。” 对于密钥生成或签署证书吊销列表(CRL),你只需要前往一个密钥管理位置。但是对于密钥销毁,准则规定你需要销毁你所拥有的所有密钥副本,这可能需要前往多个数据中心。 Vermote说:“上个月我们面临的挑战是,我们必须销毁我们所有全球地点的所有这些密钥的副本,而这些地点都处于锁定或半锁定命令之下,这相当有趣。” 他说,该过程是一个挑战,因为GlobalSign需要五到六个受信任的个人才能访问所有位置的根密钥。这涉及大量的旅行和暴露于冠状病毒的风险。而且,Vermote说,这些人通常是该公司中高管,包括他本人。如果其中之一受到感染,则将破坏密钥管理的业务连续性计划,并使其他GlobalSign员工面临风险。 但是GlobalSign不能简单地用有问题的私钥撤销证书。 Vermote说:“由于它们被用于为文档加上时间戳,因此,如果你真的将其撤消,则所有证书都将失效。就我们而言,这意味着用GlobalSign证书签名的数百万PDF文档将被视为无效,我们当然不希望看到这种情况。” 因此,Vermote和GlobalSign在所有地点进行了路演,以审查密钥管理活动并在官方审核员在场的情况下销毁密钥。这包括存储活跃密钥对的三个主要位置(带有“被动”副本作为备份存储的位置不需要密钥仪式)。 本月初,Vermote必须访问GlobalSign存储活跃密钥对的三个位置之一,因为他是指定的密钥管理者,同时他还是该欧洲位置的仪式主持。Vermote一大早就带着GlobalSign的一位同事,开车穿越多个国家到达该设施,期间他们经过多个警察站点和边境巡逻检查站,接受行李箱搜索、旅行批准审查,甚至还有关于社交距离的指令。 他说:“有人告诉我们,我的同事离我太近了,我不得不让他坐在汽车的后座。同时,我们必须在另一个办事处停下来,以取回存储在保险箱中的密钥,这些密钥是解锁密钥材料必需的材料。” 当他们到达目的地时,此过程比正常情况更为复杂,因为所有相关人员必须穿戴大量的个人防护设备,并使用自己的个人键盘,同时保持彼此之间的安全距离。 这个过程,Vermote共花费18个小时。但是他指出,密钥销毁的情况“非常罕见”,GlobalSign相信,只要情况不恶化,他们都可以“正常”进行密钥生成、撤销甚至销毁活动。 审核延迟和不确定性 审核并不像密钥管理仪式那么关键,但是它们仍然是证书颁发机构安全性的重要组成部分。审核失败或不完整会对证书颁发机构造成严重后果;我们曾经看到赛门铁克CA业务松懈的审核,导致谷歌、Mozilla和其他网络浏览器在2018年弃用了数千个该公司的证书(赛门铁克于2017年将该业务出售给DigiCert)。 审核程序分为两种类型:WebTrust程序,由加拿大特许专业会计师和美国注册会计师协会运行;以及ETSI程序,由欧洲电信标准协会运行。但是,有关审计的最终决策权属于主要的浏览器公司-即微软、谷歌、Mozilla和Apple。 幸运的是,某些证书颁发机构(例如DigiCert)已于今年年初在限制生效之前完成了WebTrust和ETSI审核。 但是其他组织却没有那么幸运。Vermote在2月19日的mozilla.dev.security.policy论坛中提到对审核过程的担忧。在CA代表与Mozilla和Google的官员进行了一些讨论之后,该浏览器制造商更新了有关审核延迟的指南。 Mozilla发言人说:“目前,我们尚未看到COVID-19疫情造成任何实质性影响。我们知道审核可能会延迟,因为审核员无法到现场,所以我们在此方面提供指导。” 该公司表示:“当CA意识到不可抗力将延迟他们的审核时,Mozilla希望CA能够及时披露该问题,提供定期信息更新,并保持与Mozilla根存储策略的所有其他方面的合规性。” 到目前为止,这些浏览器制造商尚未报告由大流行引起的任何问题。 有关审计和策略执行,CA和浏览器公司似乎达成一致;Sectigo高级研究员Tim Callan表示,他会感到惊讶的情况是,如果谷歌、Mozilla和微软没有为CA提供灵活性,以尽力交流和提供透明度。 Callan说:“他们有合法的必要知道CA在正确地完成其工作,审计是其中的关键部分。与此同时,他们也有合法的必要认识到,如果出于健康和法律原因,无法让WebTrust审核员来到现场,那也只能这样。” 然而,没有人知道这种大流行会持续多久,这种灵活性可能会延续多久。France表示,Sectigo已经讨论了“虚拟”审核的想法,其中第三方使用安全的视频会议渠道,例如ICANN来监视和审查CA的设施。 尽管该方法在技术上可能可行,但最终还是要取决于浏览器的根程序。 France说:“这个问题,我们尚无答案,而且我甚至认为各审计师本身对此也没有好的答案,因为这种情况史无前例。” 主要CA表示,COVID-19大流行证明了其连续性计划是有效的,并且已做好充分准备以度过难关。Cullan说:“我认为所有主要CA都完成了这项工作,这是因为我们没有看到有关重大停机的任何消息,这很重要。” 但是,Cullun说,如果要延续到一年或更长时间,则CA、Web浏览器和审计师将需要就改变某些做法和期望进行讨论。 这种情况可能引发有关CA监管的长期政策变更的讨论。Vermote说:“我认为有机会向标准中添加更多内容,以确保可以避免这些事情。” 但是也许专家们最迫切需要解决的问题是,所有CA是否都具有强大的连续性和灾难恢复计划。有些组织可能没有快速有效地应对紧急情况的基础架构或人员。 虽然GlobalSign和Sectigo都表示,他们正在大流行期间采取更为保守的方式与组织合作,但其实数字证书生态系统已经非常庞大。 Vermote说:“还有很多较小的区域性CA,而且我想知道这些CA是否可以在24小时之内进行紧急撤销,这对于密钥受攻击的情况非常必要,并且对于互联网安全至关重要。”

优秀的个人博客,低调大师

Logstash 7.5.2 发布,开源服务端数据处理流程

Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到你最喜欢的“存储库”中。目前,Logstash 7.5.2已正式发布,该版本更新内容如下: Logstash 7.5.1 发行说明 修复:Java Execution -通过将类缓存从 ComputeStepSyntaxElement 移到 CompiledPipeline,提高 Logstash 启动时间 #11490 修复:Java Execution -通过仅在所有 WorkerLoops 都完全初始化后才启动,避免在过滤器和输出编译未完成时启动输入#11492 修复:通过使 get_thread_id 为“nil safe”来避免nil本机线程出现问题#11458 更新 JrJackson 和Jackson依赖项#11478 Pluginsedit Beats Input 更新了 Netty 依赖性,并删除了对不安全的 CBC 密码的支持 #376 更新了 Jackson 依赖 #375 File Input 修复: exclude 处理中的回归。 模式与文件名而不是完整路径匹配。#237 发布说明 下载地址

优秀的个人博客,低调大师

Logstash 7.5.1 发布,开源服务端数据处理流程

Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到你最喜欢的“存储库”中。目前,Logstash 7.5.1已正式发布,该版本更新内容如下: Logstash 7.5.1 发行说明 通过包含相关 DLQ 的路径来提高报告完整 DLQ 时日志消息的实用性#11280 修复:消除了管道引用通过脱机插件包安装的基于Java的插件时管道启动时可能发生的崩溃#11340 修复:常见的 remove_field 插件选项现在可以在@metadata字段上正常工作#11342 修复:不要将 ThreadContext 泄漏到系统中#11356 修复:消除了 7.2.0 中引入的回归#11401 修复:使用空的 kibana 零件处理cloud-id#11435 patch release的 bump依赖#11438 Plugins Dns Filter 添加了有关 nameserver 选项的文档,该文档依赖于 /etc/resolv.conf 来配置解析器 Elasticsearch Filter 放松对 Elasticsearch gem 的限制#120 Grok Filter 在多匹配方案中改进了 grok 过滤器性能。#153 Jdbc_static Filter 解决了使用 Java 11 进行驱动程序验证的问题#51 ...... 更多详细信息可查看发行说明 下载地址:https://www.elastic.co/cn/downloads/logstash

优秀的个人博客,低调大师

Logstash 7.5.0 发布,开源服务端数据处理流程

Logstash 是开源的服务器端数据处理管道,能够同时从多个来源采集数据,转换数据,然后将数据发送到你最喜欢的“存储库”中。目前,Logstash 7.5.0已正式发布,该版本更新内容如下: Logstash 7.5.0发行说明 为多个管道提供所有设置#11076 在 Pipelines.yml 文件中支持替换#11081 每个管道提供日志附加程序#11108 在 OpenSSL 套接字规范中使用 2048 位密钥#11115 添加管道配置的来源#11123 从 log4j2.properties中删除 10k 字符截断#11206 如果 Java 运行时小于 11,则从系统属性中删除#11225修复#11221 [DOC] 将 metricbeat 添加为监视选项#11190 Plugins Kafka Integration Kafka 集成插件的初始版本(将以前分开的 Kafka 插件和共享的依赖项组合到单个代码库中) Rabbitmq Integration RabbitMQ 集成插件的初始版本(将以前分开的 RabbitMQ 插件和共享的依赖项组合到单个代码库中) Elasticsearch Output 修复了文档中的措辞和更正的选项#881#883 弃用:添加了有关将 Logstash 的默认发行版与 OSS 版本的 ES 连接的警告#875 添加了用于连接到 ES 8.x 的模板#871 添加了对 ES 8.x 的 sniffing 支持#878 详细信息:https://www.elastic.co/guide/en/logstash/7.5/logstash-7-5-0.html 下载地址:https://www.elastic.co/cn/downloads/logstash

优秀的个人博客,低调大师

阿里巴巴小程序繁星计划活动补贴申领流程

阿里巴巴小程序繁星计划补贴活动正式开启,使用阿里云开发支付宝小程序,新增小程序首月活>=100,即可获得100元阿里云无门槛代金券。想要入驻阿里巴巴小程序繁星计划的合作伙伴,具体操作步骤如下: 步骤一:申请阿里巴巴小程序繁星计划合作伙伴 1). 打开阿里巴巴小程序繁星计划活动页,申请加入繁星计划。 2). 在用户类型中选择小程序合作伙伴。 3). 完成申请人信息的填写,并点击提交。 步骤二:入驻支付宝服务市场 1). 打开支付宝开放平台,选择立即入驻。 2). 选择扫码登陆或者账密登录。 3).完成入驻身份的填写,并点击提交入驻申请。 步骤三:入驻完成后,合作伙伴通过支付宝服务市场发布小程序应用即可享受扶持领取代金券。建议使用小程序serverless,现在是免费的哦~ 温馨提示:获得的代金券将在1月发放到阿里云账户中。 想要了解更多活动详细说明

优秀的个人博客,低调大师

【Kubernetes系列】第8篇 CI/CD之全流程实践

前言 本实践中已经的示例代码及jenkins-agent镜像已经推送归档至github,-->传送门 注意本实践中均为内网数据,你测试时一定要改为自己的环境的有效数据。 由于本实践涉及组件较多,若有操作不明确的话,你可以后台留言,我们一起完善。 具体操作时若有不清楚,或是错误可以留言,大家一起解决。 1. 准备基础数据 配置gitlab 创建项目 上传示例代码 _注_: 本次示例使用的gitlab项目地址为:http://gitlab.hanker.com/colynn/hanker-hello.git 配置harbor 创建项目, 用于存储构建的镜像 _注_: 本次示例使用的harbor地址为 10.0.0.185:5000/hanker/hanker-hello:v1 jenkins 验证信息 添加 gitlab 帐号信息 _操作指引_:【Credentials】-> 【System】-> 【Global credentials】-> 【Add Credentials】 harbor 信息 _操作指引_:【Credentials】-> 【System】-> 【Global credentials】-> 【Add Credentials】 k8s namespace验证信息 在你的k8s master节点上执行如下操作: 1.创建serviceaccount $ kubectl -n devops create serviceaccount jenkins-robot 命令输出: serviceaccount/jenkins-robot created 2.角色绑定 $ kubectl -n devops create rolebinding jenkins-robot-binding --clusterrole=cluster-admin --serviceaccount=devops:jenkins-robot 命令输出: rolebinding.rbac.authorization.k8s.io/jenkins-robot-binding created 3.获取 ServiceAccount $ kubectl -n devops get serviceaccount jenkins-robot -o go-template --template='{{range .secrets}}{{.name}}{{"\n"}}{{end}}' jenkins-robot-token-n8w6b 4.基于base64解码 ServiceToken $ kubectl -n devops get secrets jenkins-robot-token-n8w6b -o go-template --template '{{index .data "token"}}' | base64 --decode 命令输出: eyJhbGciOiJSUzI1NiIsImtpZCI6IiJ9.eyJpc3MiOiJrdWJlcm5ldGVzL3NlcnZpY2VhY2NvdW50Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9uYW1lc3BhY2UiOiJkZXZvcHMiLCJrdWJlcm5ldGVzLmlvL3NlcnZpY2VhY2NvdW50L3NlY3JldC5uYW1lIjoiamVua2lucy1yb2JvdC10b2tlbi1uOHc2YiIsImt1YmVybmV0ZXMuaW8vc2VydmljZWFjY291bnQvc2VydmljZS1hY2NvdW50Lm5hbWUiOiJqZW5raW5zLXJvYm90Iiwia3ViZXJuZXRlcy5pby9zZXJ2aWNlYWNjb3VudC9zZXJ2aWNlLWFjY291bnQudWlkIjoiOTcyZTY0OGYtMTYxZC00NmM5LWI0ZjgtYjFkNTdlOWY4NTBjIiwic3ViIjoic3lzdGVtOnNlcnZpY2VhY2NvdW50OmRldm9wczpqZW5raW5zLXJvYm90In0.ArQvcaEqCaeU1ZcJ6nOC5rLaTZr_vLDrpLCt87asltMUWj2gSli_mXUTrl09hBnBDXI3A1D4rJXHKLHjIAA4nN8qRIRGbpqSNzDwmqJr-jmmmWWZFrZ3n3Al9-13KJnNOK8pcWr70rt3Rsigt4B6CIQ0-ZLK8BZhvROJSifeOfJ6xe2KBqdXBv1ccZZZfEhPLgGbaR5yWm5jLvOMr2MQiPDrZoHOEkcMt-C0xipytOp4sJCJ4bQhb-UoMu1owYydxbd6O7xO71fvqP_bMDpZXC601nA2ggK7h-vi6CJffHv5MM59q8X_DWe1NnZS6KXiMmkXqAmBn10Yu20PNj-kjg 5.添加 Secret text验证信息 _操作指引_:【首页】->【Credentials】-> 【System】-> 【Global credentials】-> 【Add Credentials】-> 选择【Secret text】类型 然后将上一步 解码的结果 更新至 Secret, Pipeline 中 2. 如何创建 jenkins pipeline 1. 创建jenkins pipeline item _操作指引_:【首页】->【New Item】 2. pipeline script 步骤说明 _注_: pipeline主要包含三个阶段(检出代码、制作镜像、部署服务),下面跟大家解释下,如何编写pipeline, 借助Pipeline Syntax生成的只是部分代码,你可以根据语言规范将其完善。 1.阶段1,检出代码 _操作指引_:【首页】->【hanker-hello-demo】-> 【Pipeline Syntax】 _注_: 本实践中选取的 git: Git 类型,当然你也可以选择 checkout: Check out from version control 获取到该步骤的脚本 git credentialsId: 'gitlab-project-auth', url: 'http://gitlab.hanker.com/colynn/hanker-hello.git' 2.阶段2,构建镜像 _操作指引_:类似于 阶段1, 完善获取该步骤脚本 script { withDockerRegistry(credentialsId: 'harbor-auth', url: 'http://10.0.0.185:5000') { def customImage = docker.build("10.0.0.185:5000/devops/hanker-hello:v1") customImage.push() } } _注_: 支持本阶段需要jenkins-agent镜像里包含docker命令。 3.阶段3. 部署服务 _参考_: jenkins kubernetes cli plugin _注_: 支持本阶段需要jenkins-agent镜像里包含kubectl命令。 3. 设置 pipeline _注_: General/ Build Triggers/ Advanced Project Options 这三块你可以根据自己需要设置,将各阶段的脚本合并,更新至 Pipline -> Script内。 合并后的pipeline脚本内容如下: pipeline { agent any stages { stage('checkout') { steps { git credentialsId: 'gitlab-project-auth', url: 'http://gitlab.hanker.com/colynn/hanker-hello.git' } } stage('docker-publish') { steps{ script { withDockerRegistry(credentialsId: 'harbor-auth', url: 'http://10.0.0.185:5000') { def customImage = docker.build("10.0.0.185:5000/devops/hanker-hello:v1") customImage.push() } } } } stage('application-deploy') { steps { withKubeConfig([credentialsId: '5a5517f3-3d38-459d-bafc-12b55beeb588', serverUrl: 'https://10.0.0.182:6443']) { sh '/usr/bin/kubectl apply -f k8s-setup.yml' } } } } } 3. 触发构建 4. 结果确认 1.确认 jenkina-agent 启动状态; $ kubectl -n devops get pods |grep jnlp jnlp-sh8zl 1/1 Running 0 14s // 查看jenkins-agent pod日志 $ kubectl -n devops logs -f [jenkins-agent-pod-name] _注_: 如果长时间没有启动jenkins-agent, 可以确认下集群内是否有足够的资源。 2.确认pipeline 执行状态; 3.确认harbor镜像仓库里是否已经有新推送的镜像 _注_: harbor里的项目是需要你先创建好的,不然推送时会报错。 4.确认部署的服务状态 k8s master节点上执行如下操作: $ kubectl -n devops get pod,deployment,svc,ingress |grep hanker-hello pod/hanker-hello-5b7586f86d-5j7kk 1/1 Running 0 173m deployment.extensions/hanker-hello 1/1 1 1 3h8m service/hanker-hello-svc ClusterIP 10.233.22.19 <none> 8080/TCP 3h8m ingress.extensions/hanker-hello-ingress hanker-hello-demo.dev.hanker.net 80 3h8m 附录 自定义jenkins-agent镜像 ## 基于 https://github.com/Kubernetes-Best-Pratice/jenkins-jnlp-agent.git $ git checkout https://github.com/Kubernetes-Best-Pratice/jenkins-jnlp-agent.git $ cd jenkins-jnlp-agent $ docker build . $ docker tag tag-name custom-private-repository-addr _注_: 你也可以基于基础镜像创建自定义的镜像 可以做的更完善 配置webhook, 自动触发jenkins job; 当前我们实践时构建的镜像版本使用的是固定的, 你是否可以将其替换为依赖pipeline环境变量或是传参的形式,将其变是更有意义; 上一篇文章中在设置【配置Kubernetes Pod Template】时,我们提到可以挂载主机或是网络共享存储,你是否可以通过这个将你的构建快起来; 我们的示例代码使用的go, 直接是镜像内打包,如何更好的就好的其他语言的构建,你可以参考Using Docker with Pipeline; 你想过如何下载构建过程中的产物吗,等等。 参考链接 : https://github.com/jenkinsci/kubernetes-cli-plugin/blob/master/README.md 下载kubectl: https://docs.docker.com/ee/ucp/user-access/kubectl/

优秀的个人博客,低调大师

阿里云服务器怎么用APP备案操作流程

阿里云APP端申请备案是现在比较流行的备案方法,方便快捷,适合新手使用。 阿里云2000券免费领取(阿里云券的作用:购买阿里云产品,最后支付结算的时候,阿里云券可抵扣一部分费用。 要注意的是,目前支持首次备案和新增网站(原备案不在阿里云)两种备案场景。暂时不支持新增网站(原备案在阿里云)、接入备案、变更备案等其他备案场景,其他的备案场景都可在PC端操作。 使用阿里云APP端申请备案时,备案申请操作步骤如下: 1、登录阿里云APP,进入APP备案操作入口。 如果在APP端备案时,系统提示前往PC端进行操作,那么你当前的场景就只能在PC端操作了。 2、填写信息及备案接入产品验证备案类型 填写主办单位信息和网站等信息,根据备案类型上传主办单位的证件材料,并进行真实性核验。 3、选择买好的服务器,进行产品验证。 阿里云2000券免费领取(阿里云券的作用:购买阿里云产品,最后支付结算的时候,阿里云券可抵扣一部分费用。 说明:如果无法选择服务器实例,可能是因为无可用备案服务号,建议更换有可用备案服务号的服务器。更多可能无法选择实例的可能原因及 系统会根据填写信息自动判定要办理的备案类型。 4、填写主体信息和网站信息 填写网站信息以及办理备案的个人或者单位的真实信息。上传主体负责人和网站负责人的证件,并进行网站负责人的真实性核验。 5、上传资料 上传证件照片或证件彩色扫描件。 6、信息核验 在提交备案申请订单前,请您在此步骤中仔细确认您的主体、网站、接入等备案信息是否正确,确认无误后提交备案订单。 说明:如果使用PC端进行备案申请,在移动端完成资料上传和真实性核验后,您可在移动端继续信息核验。如果您的登录账号无法登录阿里云APP,就要去PC端继续操作信息核验。 7、备案初审 提交备案申请后,阿里云备案审核专员会对备案信息初步审核。 8、管局审核初审完成后,阿里云备案审核专员会将备案申请转交至对应管局处做最终的管局审核。管局审核通过后您的备案即已完成,审核结果会发送至短信、邮箱。 9、不管阿里审核,还是管局审核期间,在工作时间内都要保持手机有人接听状态,老魏就是因为审核专员多次打电话无人接听,延误了备案时间。 阿里云2000券免费领取(阿里云券的作用:购买阿里云产品,最后支付结算的时候,阿里云券可抵扣一部分费用。

资源下载

更多资源
腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册