自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(82)
  • 收藏
  • 关注

原创 tkestack/gpu-manager在k8s1.23版本之后的使用

在1.25版本的k8s集群中部署gpu-manage时,虽然显示gpu节点上gpu-manage的pod实例都是running状态,但是给pod申领。既可以用源码的Makefile自动编译打包成新的镜像,但是源码的。说明gpu-manager和容器运行时接口通信失败了。编译后的镜像在1.25版本的k8s中可以正常使用。,但是在k8s1.23版本之后,接口路径已经改为。资源时,却始终找不到有资源的节点。,另外有一些依赖需要国际上的支持。可以看到这里用的运行时接口是。查看节点的详情时,返回的。

2023-04-26 17:07:55 1253 1

原创 VScode 安装插件后依然不能理解lombok注释的问题

vscode不能解析lombok注解的问题解决方案

2022-08-11 20:01:48 2892

原创 Keycloak服务开发-认证服务SPI

keycloak的认证服务提供接口

2022-07-26 19:46:50 3588 3

原创 keycloak-授权服务-授权策略执行器

Keycloak鉴权服务中策略执行器的介绍

2022-07-22 16:12:40 1395

原创 maven配置阿里云镜像仓库不生效的问题

问题在{MAVEN_HOME}/conf/settings.xml中添加镜像配置: <mirrors> <mirror> <id>aliyunmaven</id> <mirrorOf>*</mirrorOf> <name>阿里云公共仓库</name> <url>https://maven.aliyun.com/reposit

2022-01-28 15:42:27 6855

原创 kube-proxy ip-tables故障解决

ingress-nginx日志iveness probe failed: Get http://10.0.0.4:10254/healthz: dial tcp 10.0.0.4:10254: connect: connection refusedReadiness probe failed: Get http://10.0.0.4:10254/healthz: dial tcp 10.0.0.4:10254: connect: connection refusedkube-proxy日志E012

2022-01-22 12:25:24 3258 1

原创 登录harbor时的SSL异常: x509: certificate is valid for ingress.local

背景之前搭建了一套内网环境的harbor,绑定了一个harbor.test.com的域名。现在因为工作需要,给这个harbor服务绑定了一个公网域名,并且申请了SSL证书,在调整完docker-compose中harbor.yml以及docker-compose.yml文件内的证书后,可以通过浏览器访问,并且显示SSL握手成功。但是通过docker命令行登录时,却抛出如下异常:Error response from daemon: Get "https://harbor.oulaoula.com/v2

2022-01-17 17:52:59 5511 1

原创 使用Hyper-V的虚拟机搭建集群

使用Windows的WSl开发,那么可以同时兼顾办公软件和开发环境的需求,但是启用WSL需要开启Hyper-V,会和Vmware等传统虚拟化平台冲突,如果需要模拟集群,就得寻找其他方案。好在Hyper-V本就是虚拟化平台,可以直接创建虚拟机。1.启用Hyper-V管理器首先我们需要Hyper-V管理器,在windows家庭版中并没有这个软件,需要执行以下脚本创建:pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum &gt

2021-11-26 18:59:53 4054

原创 Keycloak服务授权

1. 概述keycloak支持细粒度的授权策略,并且可以和不同的访问控制机制结合,比如:基于属性的访问控制 ABAC基于角色的访问控制 RBAC基于用户的访问控制 UBAC基于上下文的访问控制 CBAC基于规则的访问控制基于时间的访问控制通过策略服务的SPI自定义访问控制策略keycloak通过一组管理界面和RESTful接口提供创建权限的必要方法,这些权限用户保护资源和作用域,把权限和鉴权策略绑定,就可以在应用或服务中执行鉴权。资源服务器(应用或者服务)通常会基于一些信息来决定使用

2021-09-28 18:58:46 4249 1

原创 使用docker或docker-compose时访问宿主机上的服务

1.太长不看版在容器的启动命令前执行ip -4 route list match 0/0 | awk '{print $3 " host.docker.internal"}' >> /etc/hosts在容器中访问host.docker.internal即可访问宿主机上的服务。2.示例本机上运行了minio作为对象存储:zhang@zhang:~$ docker run -p 9000:9000 -e "MINIO_ROOT_USER=zhangzhipeng" -e "MIN

2021-04-15 13:41:52 7390

原创 使用集群管理员权限从pod内部访问K8S API

从pod内部访问K8S api时,可能会遇到角色权限不能访问的情况,如下:root@curl:/# curl -H "Authorization: Bearer $TOKEN" https://kubernetes{ "kind": "Status", "apiVersion": "v1", "metadata": { }, "status": "Failure", "message": "forbidden: User \"system:serviceaccount:

2021-04-07 12:31:56 704

原创 使用keam在树莓派上安装KubeEdge时遇到的问题

KubeEdge版本:keadm-v1.6.1-linux-arm64使用keadm join接入云端时,出现如下错误:Error: fail to download service file,error:{failed to exec 'bash -c cd /etc/kubeedge/ && sudo -E wget -t 5 -k --no-check-certificate https://raw.githubusercontent.com/kubeedge/kubeedge/r

2021-04-07 10:11:00 1853

原创 SD卡安装Raspberry Pi OS

这里使用Ubuntu20.04操作。1.下载imagerimager是树莓派官网提供的操作系统安装软件。下载地址:Raspberry Pi Imager,进入网页,选择Download for Ubuntu for x86即可。2.安装imager下载完成后,进入用户本地下载路径,安装deb包:zhang@zhang:~$ cd Downloads/zhang@zhang:~/Downloads$ sudo dpkg -i imager_1.6.1_amd64.deb Selecting pr

2021-04-03 17:21:38 536

原创 删除Helm使用时关于kubernetes文件的警告

使用helm命令行时如果有以下警告信息:zhang@zhang:~$ helm lsWARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /home/zhang/.kube/configWARNING: Kubernetes configuration file is world-readable. This is insecure. Location: /home/zhang/.ku

2021-03-31 10:43:09 6125 1

原创 Envoy HTTP过滤器中的外部授权

概述外部授权过滤器调用授权服务检查收到的请求是否被授权。授权过滤器可以是网络过滤器也可以是HTTP过滤器。如果网络过滤器判定请求未授权,则会关闭链接;如果HTTP过滤器判定请求未授权,则会返回403状态码。外部授权过滤器最好放在过滤器链的最前面,在其他过滤器处理请求前先鉴权。如果外部服务不可访问,那么将通过可用过滤器中的failure_mode_allow配置项来决定请求是否被授权。如果该项设置为true,那么请求会被允许。默认值是false。服务的定义流量上下文通过下面列出的服务传递给外部授权服

2021-03-18 14:34:54 1726

原创 Envoy

Envoy用C++开发的网络7层代理,被设计用于在大型的、服务导向的架构中做通信总线。既可以作为应用整体的API Gateway也可以作为每个为微服务的sidecar,组成服务网格。南北流量:来自应用外部的流量东西流量:服务内部的流量listeners / 侦听器:类似与nginx中的server类似,面向客户端提供服务,用于接受客户端、前端的请求。cluster:类似与nginx中的upstream servers,用于归类上游服务组。filter:过滤器,listener内部的子组件,支持

2021-03-18 11:08:04 640 1

原创 JWK和JWKs的格式

JWK,全称JSON Web Key,是一个JSON对象,表示一个加密的密钥。JWK中的字段表示密钥的属性。JWK中的参数“kty”(key type)表示密钥使用的加密算法,比如“RSA”或者“EC”等,是大小写敏感的字符串。JWK中必须携带这个字段。“use”(Public Key Use)表示公钥的使用目的。指示公钥是用于加密数据还是用于验证数据上的签名。可以是如下值:“sig”(signature)“enc”(encryption)大小写敏感。可以选择性携带。“key_

2021-03-16 13:05:55 97618 1

原创 Istio中的安全策略

微服务带来灵活性、可伸缩性和复用性的同时,还需要考虑一下安全问题:使用流量加密组织中间人攻击提供灵活的访问控制,比如双向TLS加密和细粒度的访问策略检索谁在什么时间做了什么操作,这需要审计工具Istio可以处理内外部的威胁,给数据、端点、通信和平台提供安全性。Istio提供了强身份认证、权限策略、传输TLS加密以及认证、授权和审计(AAA)工具。上层架构Istio的安全性涉及多个部分:用于密钥和证书管理的证书颁发机构(CA)配置API服务器分发给代理认证策略鉴权策略安全命名

2021-03-15 12:48:46 747 1

原创 Istio中的流量管理

流量管理用于控制服务之间的流量和接口调用。使用istio可以轻松配置服务级别的属性,比如断路器、超时时间和重试策略。并且可以轻松的执行A/B测试、金丝雀发布以及按百分比流量分割的策略发布等任务。istio的流量管理模型基于Enovy,和每个服务一起部署。所有网格服务发送和接收的流量(即数据面板中的流量)都会通过Envoy代理,有助于在服务变动时定向或管理网格间的流量。概述为了在网格间定向流量,Istio需要知道系统中的endponit(在k8s中,endpoint记录服务对应的pod的访问地址,存储在

2021-03-14 00:48:17 812

原创 API 网关与服务网格的异同

API 网关API网关模式描述了网络中的一个附加跃点,每个请求都必须经过该跃点才能到达底层API。在这种情况下,有些人将API网关称为集中式部署。API 网关作为一个数据面板接受所有客户端的请求、控制流量、执行策略。API 网关可以有内置的控制面板由于关于和配置数据面板的行为。API 网关单独部署,和客户端以及 API 相互独立,所以部署简单。通常用于一下三种 API 使用场景。1. API 作为产品把 API 打包成产品供别的开发者、合作商或团队使用。客户端应运行在产品外部,比如移动应用或

2021-03-11 12:07:00 619

原创 在微服务中使用 APIGateway 处理认证和授权

API 网关认证是管控通过API传输的数据的重要手段。总的来说,API网管认证是使用预定义的一些凭证,认证某一的消费者(用户或服务)有没有权限访问当前的API。认证的目的是把没有通过认证的访问拦截掉。为什么API网关认证很重要API,是一种从某个端点请求数据并发送到你的中央数据库的方式。端点可能是一下几种类型:通过网络应用访问API的人类用户通过物联网 API 返回数据的一组硬件或设备使用内部API提交或处理数据的员工或合作商无论哪种情况,认证都很必要。外部 API,包括面向用户的 A.

2021-03-09 20:49:27 2098

原创 WSO2基础教程:Access Control (三),权限

配置策略管理端点 / Policy Administration Point权限管理是一种授予、解决、执行、撤销和管理细粒度访问权限的技术。WSO2 Carbon的授权管理组件提供管理和控制XACML中定义的策略的便利化操作。Policy Administration Point(PAP)是创建策略或策略集,并管理他们的系统实体。WSO2 身份服务可以充当PAP,提供管理策略的全面支持。在PAP中,XACML策略有清晰的生命周期。下图展示了WSO2 身份服务中策略的生命周期。使用wso2提供的

2021-03-07 19:22:11 765

原创 WSO2基础教程:Access Control (二),概述

Access Control是一种限制访问的方法,用于限制对系统、实体资源或虚拟资源访问。在计算机中,访问控制是一种程序,用与授予用户访问系统、资源或信息的权限。旧的访问控制系统中,用户必须在获取访问之前先提供凭证。在当前的物理系统中,这些凭证可能有多种形式,但是无法通过传输这些凭证以提供高度的安全性。权限管理是在细粒度身份验证之后向资源或用户授予权限的过程,用于控制用户的访问。XACML是一种符合OASIS标准的语言,既可以用于描述策略,也可以描述访问控制决策的请求、响应。...

2021-03-07 16:44:35 447

原创 WSO2基础教程:Access Control (一)

Authorization / 授权负责授予对资源的访问权限,而access control / 访问控制据此限制应用对资源的访问。本片教程展示如何使用XACML 3.0部署细粒度的访问控制。场景Pickup是一家出租车公司,该公司的员工使用不同的凭证登录不同的内部应用。其中包括如下两种应用:Pickup Manager:该应用用于管理Piakup的全局设置Pickup Dispatch:该应用给驾驶员分配车辆假设有三位员工:Larry:经历,有权限通过Pickup Dispatch查看以往和

2021-03-07 16:28:57 689

原创 WSO2身份服务中的关键概念五:跨协议单点登出

WSO2身份服务支持在使用多种认证协议的应用服务间单点登录。而单点登出让用户在一个应用登出可以当前浏览器会话中登出所有的应用。虽然SSO通常在不同协议(例如SAML和OIDC)中得到支持,但SLO过去仅在启动注销的应用程序协议中受支持。但是WSO2身份服务支持跨协议的SLO。...

2021-03-06 15:58:24 180

原创 WSO2身份服务中的关键概念四:关于身份的反面模式和身份总线

这篇文章主要关于身份服务的一些反面教材,以及WSO2针对他们的解决方案:身份总线。交错的身份和认证协议混用根据分析公司Quocirca的研究总结,目前很多公司的外部用户数量远超内部用户。此外,许多企业都参与了收购、合并和合作,这些都会导致大量外部用户加入企业。通常,这些外部用户必须批量与现有用户群集成。由于不同的身份系统遵循不同的协议,这种集成可能会很复杂。对企业身份管理的影响在处理外部和内部用户以及将不同系统合并到一起时,您将面临与管理多个异构用户存储、不同类型的身份验证协议、遗留系统等相关的技术

2021-03-06 15:53:20 192

原创 微服务下的外部API设计

在微服务结构中,数据分散在不同的服务里,每种客户端需要的数据不同,且有的客户端和服务在同一个防火墙内,网络性能高,有的在外网,网络性能低。这些问题导致统一的后端接口难以满足使用需求。1.对外API设计时可能的问题可能有四种使用服务端API的客户端:web应用,比如给客户使用的基于浏览器的页面,给商家使用的页面,以及给管理员使用的页面运行在浏览器的JS应用移动端应用,给用户和配送员使用第三方开发者写的应用2.API Gateway模式...

2021-03-03 21:27:57 1242 4

原创 微服务中的查询

问题1:需要查询的数据分散在各个微服务中方案:API组合模式 / The API composition pattern:比较简单的模式,推荐使用。客户端分别调用各个服务,组织结果。命令查询职责分离模式 / The Command query responsibility segregation (CQRS) pattern:比较牛逼的模式,较复杂。维护一组试图数据库专门用于查询。1. 使用API组合模式查询数据1.1. 以findOrder() 查询操作为例findOrder() 通过主

2021-03-02 21:16:44 1362 1

原创 Ubuntu 20.04安装Postgresql

1.下载源码访问https://www.postgresql.org/ftp/source/找到需要的版本并下载:wget https://ftp.postgresql.org/pub/source/v11.11/postgresql-11.11.tar.gz2.解压这里解压到用户的opt路径下tar xvf postgresql-11.11.tar.gz -C ~/opt/3.配置3.1.进入解压后的路径cd ~/opt/postgresql-11.113.2.执行./configur

2021-03-01 16:56:23 452

原创 WSO2身份服务中的关键概念三:访问控制与权限管理

今天,企业应用程序寻求加强安全性的方法,允许适当的人在企业策略的限制下访问适当的资源。身份和权限管理系统作为一个整体,试图解决这些安全问题。这些系统帮助企业架构师和开发人员实现他们的应用程序需求,并试图显著降低安全相关实现的成本。这些身份和权限管理系统遵循行业标准规范,因此很容易支持异构应用程序的安全需求。访问控制的类型下表描述了不同类型的访问控制。 访问控制类型 描述 Access Control Li

2021-02-25 21:02:15 943

原创 WSO2身份服务中的关键概念二:身份调度与调度标准

用户与身份调度在跨系统和SaaS应用间传递用户、群组和用户账户时扮演关键角色。调度包括一下过程:协调用户帐户的创建,以规则和角色的形式实施电子邮件授权以及其他任务(如与启用新用户相关的资源调配)。调度通常在组织添加新用户时出发。WSO2身份服务简化了调度的使用。通过向身份服务发起调度请求以添加新用户,则用户的信息会被自动调度到配置的应用中。流程如下图所示:入站与出站调度入站调度侧重于如何向Identity Server提供用户、用户组和用户标识。这可以使用可用于SCIM的REST API来完成。下图

2021-02-25 17:24:47 272

原创 WSO2身份服务中的关键概念一: 单点登录与身份联合

单点登录介绍单点登录是WSO2身份服务的主要特色之一。通过单点登录,可以让用户只提供一次身份凭证就可以访问多个应用。在会话结束前,用户不需要再次输入凭证。用户也不需要分别登录每个应用。例如,用户登录了应用A,那么在会话结束前他不需要输入凭证即可访问应用B。SSO的优点:用户只需要一套用户名和密码即可访问多个应用。不需要记住对组凭证用户只在身份管理服务登录,之后便可自动登录受信任域名。相比与在每个服务输入用户名和密码,更方便。应用服务不需要维护用户的身份数据用户身份由中心服务管理。更加安全、降低

2021-02-25 16:24:38 1012

原创 什么是API安全

章节概述什么是API 导致API安全或不安全的因素 定义安全的目标 识别威胁和漏洞 达到安全目标的机制应用程序接口(APIs)随处可见。当你打开智能手机或平板,浏览上面安装的应用时,差不多这些应用都会连接一个或多个远程API,通过这些接口下载最新的内容和信息、轮询通知、上传你发送的内容或者执行你要求的操作。如果你在浏览器中使用开发工具打开你最喜欢的网页,那么你一定能看到为了渲染一张为你定制的网页,浏览器在后台调用了很多API。而在服务器内,为了响应浏览器调用的API,可能会导致许多微服务调

2021-02-20 20:26:16 5147

原创 FFmpeg 异常:height not divisible by 2

在尝试用FFmpeg结合CV模型做视频预测时,为了提高预测效率,在对单张视频帧预测前使用Pillow对图像做了压缩,代码如下:def img_thumbnail(img: Image.Image) -> \ (Image.Image, int, int): """ 缩放图片 :param img: :return: 返回图片对象的缩略图,宽,高 """ if img.size[0] > 360 or img.size[1] &gt

2021-01-31 16:18:51 2415

原创 使用Syncope

1.管理员控制台部署完Syncope后,访问protocol://host:port/syncope-console即可打开管理页面。比如使用docker部署如下test@root:~$ docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS

2021-01-22 15:07:22 1644 2

原创 Apache Syncope

1.介绍Apache Syncope 是一款由 JAVA EE 开发的开源的适用于企业的数字身份管理系统。Identity Management是指使用业务流和信息技术管理系统和应用内的用户数据。通过整合用户属性、角色、资源和权限以解决哪位用户为了什么目的、通过什么方式在什么时间访问什么资源。1.1.身份管理的定义账户 由计算机处理的有关人的信息的记录。创建和管理账户的的系统会使用账户中存储的的技术信息。数字身份 一个数字对象对自己提出的一系列声明的表示。身份的生命周期:除了用户和群组,Sy

2020-12-29 10:02:55 1214

原创 vim中使用正则表达式批量替换换行符和空字符

问题:把一段用换行符和空字符组织的文本变成以行文本... 8 certificate-authority-data: "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUM3akNDQ\ 9 WRhZ0F3SUJBZ0lCQURBTkJna3Foa2lHOXcwQkFRc0ZBREFvTVJJd0VBWURWUVFLRXdsMGFHVXQKY\ 10 21GdVkyZ3hFakFRQmdOVkJBTVRDV05oZEhSc1p

2020-12-21 19:33:28 1070

原创 记一次coredns组件异常

使用rancher在azure 虚拟机部署k8s后,出现集群内服务彼此不能解析地址的错误。查询coredns组件日志如下:[test@master .kube]$ kubectl logs coredns-bdffbc666-msvff -n kube-system.:532020-12-21T05:48:06.365Z [INFO] CoreDNS-1.3.12020-12-21T05:48:06.365Z [INFO] linux/amd64, go1.11.4, 6b56a9cCoreDNS

2020-12-21 15:08:44 5011

原创 微服务解决方案——kubernetes

采用微服务架构后,随着系统的发展,要管理的微服务应用会越来越多,这时候就需要一套机制管理每个服务的生命周期(部署、应用、更新、回收等)以及众多服务的编排和规划(在哪台机器部署,占用多少资源等)。kubernetes把可用于部署服务的物理机器整合起来,抽象成一个部署平台,使得无论有多少再机器在底层支撑,在开发人员看来都好像是在一台机器上部署。kubernetes的硬件被分成管理节点和工作节点。管理节点用于控制和管理整个系统,工作节点用于运行实际部署的应用。管理节点主要包括四部分组件:Kubernet

2020-12-20 20:07:11 317 1

原创 微服务的解决方案——容器

容器技术是微服务的解决方案之一。容器和虚拟机以往的单体应用部署通常使用虚拟机创造出应用需要的操作系统和依赖环境,但是虚拟机消耗的硬件资源较大。当单体应用被拆解为体量较小的微服务时,使用虚拟机就不太划算了。所以硬件开销比虚拟机小的容器成为一种可选的微服务解决方案。容器类似于虚拟机,可以创造出独立的运行环境。但和虚拟机不同的是,容器内的进程运行在宿主机的操作系统上,只是进程本身会觉得自己是操作系统内唯一的进程。而虚拟机需要自己的系统进程,会损耗更多的系统资源,所以通常会把多个单体应用分组部署在一个虚拟机内

2020-12-20 18:19:01 681 1

空空如也

空空如也

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

TA关注的人

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