自定义博客皮肤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的实践者与布道者

  • 博客(258)
  • 资源 (4)
  • 收藏
  • 关注

原创 在CentOS7上用kubeadm HAProxy Keepalived 安装多Master节点的高可用Kubernetes集群

文章目录在CentOS7上用kubeadm安装多Master节点的高可用Kubernetes集群前言部署规划资源规划集群规划部署负载均衡服务器部署第一个节点拉取k8s-deploy项目安装Kubernetes克隆服务器作为基准镜像部署第一个Master节点初始化集群安装Calico网络组件部署Worker节点部署第二个Master节点查看集群部署情况Troubleshooting用VMWare试验时怎么设置主机名和IP官方Yum源安装太慢,可使用阿里云Yum源服务器上不了网,可通过HTTP Proxy正向代

2020-11-04 10:35:31 1589 5

原创 设计模式学习资料(持续更新)

文章目录设计模式资料(持续更新)前言图书设计模式分类设计模式目录什么时候需要用到设计模式参考文档设计模式资料(持续更新)前言本文汇总了设计模式的一些常用资料,用于快速查找。图书《设计模式 - 可复用面向对象软件的基础》《Head First - 设计模式》《Java设计模式及实践》设计模式分类设计模式根据其目的分为:创建型(creational patterns) - 与对象的创建有关结构型(structural patterns)- 处理类和对象的组合行为型(behavior

2021-06-18 20:45:18 52 1

原创 DDD的类命名规范

文章目录DDD的类命名规范前言用户界面层的类命名规范应用层的类命名规范领域层的类命名规范基础设施层的类命名规范其它的类命名规范参考文档DDD的类命名规范前言本文整理了DDD的类命名规范,供参考。下面按照DDD分层架构进行说明:用户界面层应用层领域层基础设施层将各个层都会用到的类归到其他的类命名规范中。用户界面层的类命名规范类型说明建议命名示例控制器(Controller)MVC控制器XXXControllerTransferController应

2021-06-15 23:37:01 44

原创 使用DDD分析和设计微服务

文章目录使用DDD分析和设计微服务前言为什么使用DDD分析和设计微服务使用DDD分析和设计微服务参考文档使用DDD分析和设计微服务前言本文描述了如何通过DDD和Event Storming来分析和设计微服务。为什么使用DDD分析和设计微服务使用DDD分析和设计微服务的好处主要包括:微服务边界划分更合理微服务粒度更合适微服务间的调用关系更清晰避免事务一致性的问题更好地为微服务建模(更加准确地描述业务领域)加深对业务领域的理解,促进技术专家和业务专家的协作使用DDD分析和设计微服务

2021-06-13 13:24:47 15

原创 DDD与技术实现概念映射

文章目录DDD与技术实现概念映射前言DDD与技术实现概念映射DDD与具体实现技术的无关性开源技术组件选型参考MVC框架带来的贫血模型的诱惑与陷阱DDD与技术实现概念映射前言本文描述了DDD与技术实现概念的映射,以帮助开发人员更好地理解DDD与技术实现的概念之间的关系,以及澄清概念混淆。由于本人水平有限,错谬之处,还请不吝指正。DDD与技术实现概念映射DDD设计阶段DDD概念技术实现概念备注战略设计Bounded Context (限界上下文)一个微服务Dom

2021-06-03 14:49:59 38

原创 HTTPie - API测试工具的另一个选择

文章目录HTTPie - API测试工具的另一个选择安装HTTPieHTTPie用法IntelliJ HTTP Client plugin小结参考文档HTTPie - API测试工具的另一个选择可以使用HTTPie作为替代curl和Postman的API的测试工具。安装HTTPieMacOS上安装HTTPie:bewq install httpieHTTPie用法HTTPie的设计哲学是尽可能的简洁。# help dochttp --help# command syntaxhttp

2021-05-26 22:22:29 27

原创 使用nvm来安装NodeJS和管理多个NodeJS版本

文章目录使用nvm来安装NodeJS和管理多个NodeJS版本安装nvm用nvm安装NodeJS参考文档使用nvm来安装NodeJS和管理多个NodeJS版本安装nvmzsh:# install nvmbrew install nvmmkdir -p ~/.nvm# add env varsvim ~/.zshrc# nvmexport NVM_DIR=~/.nvmsource $(brew --prefix nvm)/nvm.shsource ~/.zshrcbash:

2021-05-25 22:12:55 20

原创 使用SDKMAN来安装JDK和管理多个JDK版本

文章目录使用SDKMAN来安装JDK和管理多个JDK版本安装SDKMAN安装JDK安装其它SDKTroubleshooting参考文档使用SDKMAN来安装JDK和管理多个JDK版本除了可以用AdoptOpenJDK 安装JDK外,还可以使用SDKMAN来安装JDK和管理多个JDK版本。安装SDKMAN# install sdkmancurl -s "https://get.sdkman.io" | bashsource "$HOME/.sdkman/bin/sdkman-init.sh"#

2021-05-25 20:23:25 31

原创 管理Kubernetes资源的5种方法

文章目录管理Kubernetes资源的5种方法前言Web consoleYAML命令行TemplateOperator小结管理Kubernetes资源的5种方法前言本文以OpenShift为例说明了管理Kubernetes资源的5种方法,包括:Web consoleYAML命令行TemplateOperatorWeb consoleOpenShift提供了非常易用且功能强大的Web console来管理Kubernetes资源。在Web console中可以非常方便地创建和编辑资源

2021-03-08 21:17:33 72

原创 用CodeReady Containers在本地安装OpenShift 4集群

文章目录用CodeReady Containers在本地安装OpenShift 4集群前言CodeReady Containers 架构在本地环境安装CodeReady Containers下载安装文件和pull secret安装OpenShift集群启动OpenShift集群访问OpenShift集群访问OpenShift Web console用oc命令行工具访问OpenShiftTroubleshooting没有非root用户非root用户没有sudo权限磁盘空间不足crc requires at l

2021-03-04 10:32:05 292 1

原创 设置CentOS8以命令行模式或图形化模式运行

文章目录设置CentOS8以命令行模式运行设置CentOS8以命令行模式运行在安装CentOS8虚拟机后,默认以图形化模式运行。查看默认运行模式:systemctl get-default切换默认模式为命令行模式:systemctl set-default multi-user.target一般作为服务器运行时,需要将CentOS以命令行模式运行,更加节省资源和稳定。切换默认模式回图形化模式:systemctl set-default graphical.target临时切换运行模

2021-03-02 20:55:10 261

原创 DevOps名言警句 - 2021

文章目录DevOps名言警句 - 2021前言数字化转型类DevOps类Mindset类DevOps名言警句 - 2021前言这篇文章主要用来记录看到比较有感触的名言警句,虽然不一定和DevOps有关,但是我自己的一个主要工作是帮助客户实现DevOps transformation。所以就把这篇文章取名叫“DevOps名言警句”。数字化转型类原文:The average life expectancy of a Fortune 500 company has declined from aro

2021-02-23 22:38:59 113

原创 记第一次参加LeanCoffee

文章目录记第一次参加LeanCoffe关于LeanCoffeLeanCoffe的流程LeanCoffe的工具扩展阅读记第一次参加LeanCoffe今天第一次参加LeanCoffe,觉得是一种高效的开会方法。所以写篇小文章记录一下。关于LeanCoffeLeanCoffee是一种高效的开会方法。Lean意味着简单而有效,Coffee意味着非正式讨论。就像是,几个人约在公司茶水间,一边喝咖啡,一边讨论一样,咖啡喝完,要讨论的问题也有了结论。LeanCoffe的流程LeanCoffe的大致流程如下

2021-02-23 11:51:38 159

原创 Linux的特殊文件权限:SUID、SGID、Sticky

文章目录Linux的特殊文件权限SUID (`u+s`)SGID(`g+s`)Sticky(`o+s`)权限的数值表达法3位数表达法4位数表达法参考文档Linux的特殊文件权限一般情况下,在Linux中运行程序或创建文件时,用的是当前登录的用户权限。但是Linux中也支持一些特殊文件权限,以满足特定的使用场景。SUID (u+s)一个有SUID (Set User ID)权限的程序在执行时,将会以该程序的所有者权限运行,而不是以当前登录的用户权限。以普通用户运行passwd 命令修改用户密码为例

2021-02-22 20:54:41 53

原创 Linux用户管理

文章目录Linux用户管理uid组查看全部用户/etc/passwd/etc/shadow查看用户详情添加用户设置密码修改用户删除用户Linux用户管理uidLinux中用uid来唯一标识一个用户。uid为从0开始的整数,其中0为root用户,[1-999]预留给系统用户。新建的用户,uid从1000开始。组Linux中的组分为:基本组(Initial group)扩展组(supplementary group)一个用户属于一个基本组,并可属于0个或1个或多个扩展组。查看全部用户

2021-02-22 17:13:03 44

原创 常用的SELinux操作

文章目录常用的SELinux操作前言查看SELinux状态关闭SELinux重新打SELinux标签开启非常规端口开启或关闭安全特性开关参考文档常用的SELinux操作前言本文描述了在CentOS8上的常用SELinux操作。查看SELinux状态安装CentOS后,默认SELinux是开启状态。# 查看SELinux状态getenforce# 查看SELinux状态的详细信息sestatus说明:SELinux在命令中的缩写为se,通过man -k 'selinux' 搜索S

2021-02-05 21:25:21 174

原创 在Linux中获得帮助说明和查看用户手册

文章目录在Linux中获得帮助说明和查看用户手册获取帮助说明查看用户手册在用户手册中搜索Troubleshooting在Linux中获得帮助说明和查看用户手册获取帮助说明如果知道命令的名称,获取帮助说明最简单的方法是:<command> --help比如:fdisk --help查看用户手册有时候<command> --help 提供的信息太过简略,可以通过man命令查看该命令的用户手册(manual)。# 查看命令的用户手册man <command&g

2021-02-05 08:44:09 57

原创 CentOS8恢复root密码

文章目录CentOS8恢复root密码前言前置条件恢复过程参考文档CentOS8恢复root密码前言本文描述了在root密码遗忘或丢失时,如何在CentOS8上恢复root密码。前置条件硬件要求:有显示器和键盘可以直接连接服务器(虚拟机)恢复过程# 重启虚拟机# 在引导界面按下 e (小写的e)来进入编辑模式e# 在linux行的最后添加 rd.break 来修改引导程序参数,来中断引导程序rd.break# 按下 Ctrl + x 来保存修改Ctrl + x# 重

2021-02-04 13:33:34 86

原创 CentOS8添加新硬盘并作为LV挂载目录

文章目录CentOS8添加新硬盘并作为LV挂载目录实验环境给虚拟机挂载新硬盘查看硬盘给硬盘分区用fdisk命令给硬盘分区用parted命令给硬盘分区格式化分区把分区加到物理卷(PV)中创建新的卷组(VG)扩容现有的卷组(VG)创建逻辑卷(LV)将LV挂载到目录扩容现有的逻辑卷(LV)参考文档CentOS8添加新硬盘并作为LV挂载目录实验环境虚拟机:VMWare fusionLinux版本:CentOS8LVM:CentOS8默认已安装好LVM。可运行yum list 'lvm*' 查看是否已安装。

2021-02-02 23:30:58 590

原创 在CentOS上用YUM搜索软件

文章目录在CentOS上用YUM搜索软件在CentOS上用YUM搜索软件如果知道软件包的名称或部分名称可以用yum list来列出可用的软件包。示例:# 列出postgresql的软件包yum list postgresql# 列出postgres开头的软件包yum list 'postgres*'如果只知道部分信息,可以用yum search或 yum search all来搜索可用的软件包。示例:# yum search 支持根据name或summary搜索yum search

2021-02-02 12:38:51 96

原创 10个必须掌握的Kubernetes命令和工具

文章目录10个必须掌握的Kubernetes命令和工具前言命令和工具列表命令和工具详解Kubens - 切换namespaceKubeshell - 命令提示和自动完成Dive - 镜像分析工具Kube-PS1 - Kubernetes命令行提示Stern - 日志归集查找工具10个必须掌握的Kubernetes命令和工具前言本文根据10 awesome Kubernetes tools every user should know | DevNation Tech Talk 整理而成。命令和工具列

2021-01-25 16:17:49 277

原创 Kubernetes troubleshooting 常见问题解决思路和方法

文章目录Kubernetes troubleshooting 常见问题解决思路和方法前言Kubernetes troubleshooting流程图流程图详解Pod为Pending状态Pod为ImagePullBackOff状态Pod为CrashLoopBackOff状态Pod没有ReadyPod状态正常,但是通过Service不能访问到Pod通过Service能访问Pod,但是集群外不能访问PodTroubleshooting命令小结参考文档Kubernetes troubleshooting 常见问题解

2021-01-24 22:02:37 167 1

原创 容器安全 - 不要以root用户在容器内运行

文章目录容器安全 - 不要以root用户在容器内运行不要以root用户在容器内运行查看容器内运行的用户指定容器内运行的用户为什么不要以root用户在容器内运行安全原则安全假设安全风险参考文档容器安全 - 不要以root用户在容器内运行不要以root用户在容器内运行As a best practice, run your containers as a non-root user (UID not 0).By default, containers run with root privileges

2021-01-17 14:37:40 296

原创 通过Keycloak API理解OAuth2与OpenID Connect

文章目录通过Keycloak API理解OAuth2与OpenID Connect前言OAuth2 介绍OAuth2核心概念OAuth2 核心数据JWTOAuth2 flowAuthorization Code Flow安装和运行Keycloak配置Keycloak访问Keycloak新增Realm新增Client新增Role新增UserKeycloak配置列表测试调用Keycloak的APIKeycloak endpoints用Postman测试访问Keycloak endpoints获取Authoriz

2021-01-16 14:24:46 1178 1

原创 Kubernetes PV和PVC 常见问题

文章目录Kubernetes PV和PVC 常见问题PV和PVC的关系删除Kubernetes的PV和PVC时状态一直为TerminatingPVC创建后一直处在Pending状态Kubernetes PV和PVC 常见问题PV和PVC的关系PV (PersistentVolume):由集群管理员创建和管理。设置底层存储,比如使用NFS。设置存储容量大小。设置访问模式(Access mode)。指定Reclaim Policy,当persistentVolumeReclaimPolicy:

2021-01-11 12:34:32 967

原创 以Docker方式安装Jenkins

文章目录前文以容器方式启动Jenkins重设Jenkins密码(可选)通过Nginx反向代理Jenkins参考文档前文本文描述了如何以Docker方式安装Jenkins。其他安装方式参见:CentOS7安装Jenkins使用Docker Compose在线安装Jenkins以容器方式启动Jenkinsdocker run --name jenkins \ -p 8080:8080 \ -p 50000:50000 \ -d \ -v jenkins_home:/var/je

2021-01-09 21:26:19 84

原创 在OpenShift上连接私有GitLab仓库

文章目录在OpenShift上连接私有GitLab仓库前言创建Source Secret用户名/密码方式用户名/Token方式SSH Private Key方式在BuildConfig中使用Source Secret用户名/密码方式用户名/Token方式SSH Private Key方式Troubleshooting配置了Source Secret但是还是拉取不了代码在OpenShift上连接私有GitLab仓库前言本文描述了在OpenShift上用BuildConfig连接私有GitLab仓库来实现

2020-12-30 22:47:27 230

原创 用Istio实现蓝绿部署和金丝雀部署

文章目录用Istio实现蓝绿部署和金丝雀部署前言蓝绿部署金丝雀部署部署新版本配置DestinationRule配置VirtualService测试Troubeshooting根据路由权重分发流量不生效参考文档用Istio实现蓝绿部署和金丝雀部署前言本文描述了用Istio对Spring Boot应用实现蓝绿部署和金丝雀部署。环境:OpenShift 4.6Service Mesh 2.x (Istio 1.6.5)Spring Boot 2.2.11.RELEASEJava 8本例的项目

2020-12-20 10:44:52 443 1

原创 在Istio上根据HTTP header对Spring Boot应用作路由分发实现AB测试

文章目录在Istio上根据HTTP header对Spring Boot应用作路由分发实现AB testing前言AB testing配置OpenTracing Jaeger配置服务的Istio VirtualService和DestinationRule测试Postman测试Curl测试JMeter测试在Istio上根据HTTP header对Spring Boot应用作路由分发实现AB testing前言本文描述了在Istio上根据HTTP header对Spring Boot应用作路由分发实现A

2020-12-19 23:25:16 358 1

原创 迁移Spring Cloud应用到OpenShift Service Mesh

文章目录迁移Spring Cloud应用到OpenShift Service Mesh微服务实现方式对比应用配置应用改造OpenShift配置将项目纳入Istio管理配置Deployment配置ServiceIstio配置Spring Cloud Netflix与Istio比较TroubleshootingIstio配置问题bookinfo的Istio配置问题Kiali graph unkownKiali graph passthroughcluster参考文档Istio文档OpenShift文档Kiali

2020-12-17 20:23:53 395

原创 在OpenShift使用Jaeger对Spring Boot / Spring Cloud应用作分布式服务跟踪

文章目录在OpenShfit使用Jaeger对Spring Boot / Spring Cloud应用作分布式服务跟踪前言关于Jaeger在Spring Boot应用中用Jaeger作服务跟踪在Spring Cloud应用中用Jaeger作服务跟踪发送服务跟踪数据到本地Jaeger发送服务跟踪数据到服务端Jaeger发送服务跟踪数据到OpenShift的Jaeger使用限制参考文档扩展阅读在OpenShfit使用Jaeger对Spring Boot / Spring Cloud应用作分布式服务跟踪前言

2020-12-15 17:28:20 303

原创 在OpenShift上使用Hystrix Dashboard和Turbine来汇聚和可视化展示Hystrix指标

文章目录在OpenShift上使用Hystrix Dashboard和Turbine来汇聚和可视化展示Hystrix指标前言为服务采用Hystrix机制Hystrix Dashboard应用说明引入依赖Application 类bootstrap 配置application 配置OpenShift使用的application配置本地调试使用的application配置本地使用Hystrix DashboardOpenShift上使用Hystrix Dashboard参考文档在OpenShift上使用Hys

2020-12-13 12:20:18 92

原创 配置Spring Cloud Config Server连接私有GitLab repository

文章目录配置Spring Cloud Config Server连接私有GitLab repository前言用SSH private key properties方式连接GitLab私有repository生成JGit需要的PEM格式的RSA private key将public key添加到GitLab上在Config Server上配置private key properties参考文档配置Spring Cloud Config Server连接私有GitLab repository前言Spri

2020-12-11 10:08:08 301

原创 Service Mesh学习资料(持续更新)

文章目录Service Mesh学习资料(持续更新)What and Why服务网格的目标服务网格的需求IstioIstio with OpenShfit其他工具JaegerKiali图书在线练习社区Service Mesh学习资料(持续更新)What and WhyWhat’s a service mesh? And why do I need one?Istio Service Mesh ExplainedWhat is Istio?What is a service mesh? (Red

2020-12-08 22:22:16 220 1

原创 OpenShift学习资料(持续更新)

文章目录OpenShift学习资料(持续更新)官方文档图书eBookOpenShift学习资料(持续更新)官方文档Getting Started with Red Hat OpenShiftOpenShift Interactive Learning Portalhttps://www.openshift.com/图书《OpenShift云原生架构原理与实践》《OpenShift在企业中的实践》eBookOpenShift for DevelopersDevOps with

2020-12-08 21:01:22 548 1

原创 使用Helm在OpenShift上部署应用

文章目录使用Helm在OpenShift上部署应用前言安装Helm创建Helm chartHelm chart目录结构准备Helm template文件在`_helpers.tpl` 中编写函数`metadata.labels``selector`在`values.yaml`中定义变量用变量替换template文件中的值调试template使用Helm部署应用测试应用使用Helm升级或卸载应用(可选)参考文档使用Helm在OpenShift上部署应用前言在OpenShift上导出应用YAML配置并重新

2020-12-07 22:15:26 186

原创 在OpenShift上导出应用YAML配置并重新部署应用

文章目录在OpenShift上导出应用YAML配置并重新部署应用前言导出OpenShift YAML删除导出的Yaml中多余的字段去掉Build Config的triggers(可选)修改DeploymentConfig在一个新的项目中测试参考文档在OpenShift上导出应用YAML配置并重新部署应用文章目录在OpenShift上导出应用YAML配置并重新部署应用前言导出OpenShift YAML删除导出的Yaml中多余的字段去掉Build Config的triggers(可选)修改Deployme

2020-12-07 13:51:53 466

原创 DDD学习资料(持续更新)

文章目录DDD学习资料(持续更新)DDD图书Event Storming微服务设计与DDDDDD学习资料(持续更新)DDD图书•《领域驱动设计:软件核心复杂性应对之道》Eric Evans•《实现领域驱动设计》Vaughn Vernon•《Domain Driven Design Quickly》Abel Avran & Floyd MarinescuEvent StormingGOTO 2018 • 50.000 Orange Stickies Later • Alberto B

2020-12-06 12:45:44 1324 1

原创 用Jenkins Multi-branch Pipeline实现多分支构建和多环境部署

文章目录Jenkins Multi-branch Pipeline前言典型场景前置条件在GitHub上生成Personal Access Token在Jenkins中配置GitHub Personal Access Token新建Jenkins multi branch pipeline在GitHub中配置Webhook测试维护Jenkinsfile参考文档Jenkins Multi-branch Pipeline前言Jenkins Pipeline适合对一个分支进行构建,并部署到一个环境中。如果相

2020-12-03 00:26:39 1238

原创 在OpenShift上动态更新Spring Boot应用的配置

文章目录在OpenShift上动态更新Spring Boot应用的配置前言Spring Boot应用改造引入Spring Cloud Kubernetes Config依赖新建bootstrap.yaml配置示例代码示例1: 通过`@ConfigurationProperties`动态获取外部配置属性的值代码示例2: 通过`@RefreshScope`和`@Value`动态获取外部配置属性的值本地测试在OpenShift上创建和配置ConfigMap为`default` Service Account授权创

2020-11-29 20:51:54 337

设计模式——可复用面向对象软件的基础(中文版)

设计模式——可复用面向对象软件的基础(中文版)

2012-11-04

Jenkins 2.x Continuous Integration Cookbook

书名:Jenkins 2.x Continuous Integration Cookbook(3rd) 这本书最大的特点就是将使用Jenkins过程中的各个场景的操作分解成小的章节,用图文并茂的方式提供了详细实用的操作指南。 并且这本书也涵盖了Jenkins 2.x中引入的Jenkins Pipeline as Code的部分。

2018-07-05

OAuth_and_OpenID_Connect_in_plain_English_v1.6__KCDC_

OAuth2 and OpenID Connect in plain English

2020-10-28

keras_datasets.zip

Keras Datasets: mnist.npz, imdb.npz, reuters.npz, boston_housing.npz 将.npz文件放在~/.keras/datasets目录

2019-12-03

空空如也

空空如也

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

TA关注的人 TA的粉丝

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