-
2018-01-07 23:24:07参考文章:http://blog.csdn.net/liou825/article/details/17363265更多相关内容
-
k8s 使用 Service 控制器对外暴露服务
2022-03-27 16:07:19Service 引入主要是解决 Pod 的动态变化,提供统一访问入口:防止 Pod 失联,准备找到提供同一个服务的 Pod (服务发现);并定义一组 Pod 的访问策略 (负载均衡)。Service 引入主要是解决 Pod 的动态变化,提供统一访问入口:
- 防止 Pod 失联,准备找到提供同一个服务的 Pod (服务发现)
- 定义一组 Pod 的访问策略 (负载均衡)
部署 deploy
kubectl apply -f deploy.yaml
apiVersion: apps/v1 kind: Deployment metadata: name: chiyi-nginx spec: replicas: 3 selector: matchLabels: app: chiyi-nginx template: metadata: labels: app: chiyi-nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80
部署 service
kubectl apply -f service.yaml
apiVersion: v1 kind: Service metadata: name: chiyi-nginx spec: selector: app: chiyi-nginx ports: - protocol: TCP port: 80 targetPort: 80 nodePort: 30002 type: NodePort
查看 service 和 pod 的关系
kubectl get ep curl 10.244.1.58:80
说明:
Service 通过标签关联一组 Pod
Service 为一组 Pod 提供负载均衡能力
[root@k8s-master service]# kubectl get ep NAME ENDPOINTS AGE chiyi-nginx 10.244.1.58:80,10.244.1.59:80,10.244.2.46:80 5m19s kubernetes 172.17.28.225:6443 23h [root@k8s-master service]# curl 10.244.1.58:80 <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to nginx!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html>
查看 service
kubectl get service curl 10.101.104.218
[root@k8s-master service]# kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE chiyi-nginx NodePort 10.101.104.218 <none> 80:30002/TCP 6m3s kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 23h [root@k8s-master service]# curl 10.101.104.218 <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> body { width: 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to nginx!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html>
查看端口
ss -antp |grep 30002
[root@k8s-master service]# ss -antp |grep 30002 LISTEN 0 128 *:30002 *:* users:(("kube-proxy",pid=3544,fd=13))
导出 yaml
kubectl get service chiyi-nginx -o yaml
筛选 service 关联 pod
kubectl get pods -l app=chiyi-nginx
[root@k8s-master service]# kubectl get pods -l app=chiyi-nginx NAME READY STATUS RESTARTS AGE chiyi-nginx-5bbf8bff4b-6bwfz 1/1 Running 0 3m58s chiyi-nginx-5bbf8bff4b-bpvvc 1/1 Running 0 3m58s chiyi-nginx-5bbf8bff4b-pwwt4 1/1 Running 0 3m58s
扩容测试
kubectl scale deployment chiyi-nginx --replicas=1 kubectl get service,pods,ep
Service 三种常用类型
- ClusterIP 集群内部使用,任一节点服务器和 pod 内部都可以访问
- NodePort 对外暴露应用(端口默认范围:30000-32767),任一节点服务器公网IP+端口号,可在浏览器访问。
- LoadBalancer 对外暴露应用,适合公有云
-
TP-link AC100控制器配置基础教程
2021-03-07 05:03:21第一次登录时,需要确认以下几点:1) 无线控制器已正常加电启动,任一物理端口已与管理主机相连。2) 管理主机已正确安装有线网卡及该网卡的驱动程序。3) 管理主机已至少安装一种以下浏览器:IE 8.0或以上版本,或...AC100设备图片
部署架构
配置过程
登录界面配置操作。
第一次登录时,需要确认以下几点:
1) 无线控制器已正常加电启动,任一物理端口已与管理主机相连。
2) 管理主机已正确安装有线网卡及该网卡的驱动程序。
3) 管理主机已至少安装一种以下浏览器:IE 8.0或以上版本,或FireFox、Chrome和Safari浏 览器的最新版本。
4) 管理主机IP地址已设为与无线控制器接口同一网段,即192.168.1.X(X为2至252之间的任 意整数),子网掩码为255.255.255.0。
5) 为更好地体验Web界面显示效果,建议将显示器的分辨率调整到1024×768或以上像素。 打开IE浏览器,在地址栏输入http://192.168.1.253登录无线控制器的Web管理界面。
无线控制器管理账号的用户名和密码,出厂默认值均为 admin。成功登录 后将看到无线控制器的 Web 管理界面首页。
AP概览 显示接入无线控制器的AP总数,分别列出在线、离线、异常三种状态的AP数量,同时显示接 入的客户端总数。
可以查看到6个AP。
无线控制器默认设置了16个SSID (Service Set Identifier,服务集标识),2.4GHz和5GHz频段 各8个,分别有7个员工网络和1个访客网络,各频段默认只启用1个员工网络和1个访客网络。
员工网络:普通无线网络。
访客网络:访客网络中的客户端与其他无线网络隔离,不能与其他无线网络的客户端通信。
进入界面:无线设置 >> 无线服务
在设置列表中,将2.4G和5G的访客网络关闭。设置2.4G和5G员工网络wifi信号信息。
无线网络名称/ 编码格式:无线网络名称,又称为 SSID(Service Set Identifier,服务集标识),是无线局域 网用于身份验证的登录名,只有通过身份验证的用户才可以访问本无线网络。为 便于标识,无线网络名称应该尽量具有唯一性。 本产品 SSID 支持中文字符,当输入字符包含中文字符时,可以选择 GB2312 和 UTF-8 两种编码方式,UTF-8 编码最多支持 10 个纯中文字符,GB2312 编码最 多支持 16 个纯中文字符;若无中文字符,则默认使用 UTF-8 编码,最多支持 32 个字符。 当 SSID 包含中文字符时,选择单一编码格式,会由于不同客户端机型和系统上的 差异,出现某些客户端可能无法正常搜索和显示 SSID 的情况。建议用户在使用中文 SSID 时,设置两个使用相同无线网络名称但采用不同编码格式的无线网络。
开启广播:选择此项,无线控制器将向无线网络中的客户端广播 SSID,这样客户端就能搜索 到该无线信号。
网络类型: 该项用来选择网络类型,有员工网络和访客网络两种类型。
加密方式:设置该无线网络的加密方式。如果不需要对无线网络加密,能够让任意客户端接 入无线网络,则可以选择“不加密”;如果需要对无线网络加密,请选择页面中两 种安全类型中的一种进行无线安全设置。为保障网络安全,推荐加密无线网络。 本无线控制器可以为 AP 设置两种加密方式: WPA-PSK/WPA2-PSK 和 WPA/WPA2,推荐使用 WPA-PSK/WPA2-PSK AES 的方式加密。
无线网络内部隔离: 启用此项,使连接到同一个无线网络的客户端实现隔离,客户端之间不能互相通 信。该功能不能跨 AP 生效,即通过不同 AP 接入相同无线网络的客户端之间不能 实现隔离。
启用/禁用此网络: 选择“启用”,则使该无线网络可用; 选择“禁用”,则使该无线网络不可用。
AP管理
可以在此管理接入无线控制器的AP设备。
定时 AP 重启:开启该功能,设置自动重启的时间,在该时间到达时,无线控制器将会自动重启所有已接入的 AP,点击使设置生效。
AP 列表:显示接入无线控制器的AP总数,分别列出在线、离线、异常状态的AP数量。当无线控制器检 测到无法识别的AP时,AP列表处会出现一个未知AP的信息,提示用户检测到无法识别的AP, 请尝试升级AC软件。该信息只显示一次,页面重新刷新后,该信息将被隐藏。 通过AP列表,可以查看接入无线管理器的AP的型号、MAC地址、硬件版本、软件版本、运行 状态、客户端数目和信道等信息。
进入界面:客户端列表>> STA列表
无线控制器支持批量断开客户端的功能,单击按钮,可断开选中的客户端。
进入界面:系统工具 >> Web管理 >> Web管理
Web 管理 IP 设置 IP地址 设置无线控制器的
IP 地址:默认为 192.168.1.253,可根据实际网络情况修改此 值。局域网内部可通过该地址访问无线控制器。
子网掩码:设置无线控制器的子网掩码,默认为 255.255.255.0,可根据实际网络情况修改此 值。
默认网关:设置无线控制器的默认网关,默认为 192.168.1.1,可根据实际网络情况修改此值。
起始地址: 设置 AP 地址池的起始地址。
结束地址: 设置 AP 地址池的结束地址。
VLAN ID范围: 设置 AP 设备所在的 VLAN ID 范围。若 AP 设备不在设置的 VLAN ID 范围中,无 线控制器将无法管理此 AP。
在每个AP上可以看到有多少个客户端连接此AP设备。
进入界面:系统工具 >> Web管理 >>管理账号
原用户名 本次登录无线控制器的用户名。
原密码 本次登录无线控制器使用的密码。
新用户名 重新设置登录无线控制器的用户名。
新密码 重新设置登录无线控制器的密码。 确认新密码 再次输入新密码。
-
SpringBoot中Service层事务控制
2019-11-29 14:18:07SpringBoot中使用事务比较简单,在Application启动类上添加@EnableTransactionManagement注解,然后在service层的方法上添加@Transactional注解 @Transactional属性 属性 类型 描述 value String 可...SpringBoot中使用事务比较简单,在Application启动类上添加@EnableTransactionManagement注解,然后在service层的方法上添加@Transactional注解
@Transactional属性
属性 类型 描述 value String 可选的限定描述符,指定使用的事务管理器 propagation enum: Propagation 可选的事务传播行为设置 isolation enum: Isolation 可选的事务隔离级别设置 readOnly boolean 读写或只读事务,默认读写 timeout int (in seconds granularity) 事务超时时间设置 rollbackFor Class对象数组,必须继承自Throwable 导致事务回滚的异常类数组 rollbackForClassName 类名数组,必须继承自Throwable 导致事务回滚的异常类名字数组 noRollbackFor Class对象数组,必须继承自Throwable 不会导致事务回滚的异常类数组 noRollbackForClassName 类名数组,必须继承自Throwable 不会导致事务回滚的异常类名字数组 用法:
@Transactional 可以作用于接口、接口方法、类以及类方法上。当作用于类上时,该类的所有 public 方法将都具有该类型的事务属性,同时,我们也可以在方法级别使用该标注来覆盖类级别的定义。
虽然 @Transactional 注解可以作用于接口、接口方法、类以及类方法上,但是 Spring 建议不要在接口或者接口方法上使用该注解,因为这只有在使用基于接口的代理时它才会生效。另外, @Transactional 注解应该只被应用到 public 方法上,这是由 Spring AOP 的本质决定的。如果你在 protected、private 或者默认可见性的方法上使用 @Transactional 注解,这将被忽略,也不会抛出任何异常。默认情况下,只有来自外部的方法调用才会被AOP代理捕获,也就是,类内部方法调用本类内部的其他方法并不会引起事务行为,即使被调用方法使用@Transactional注解进行修饰。
注解在方法上:
@Autowired private MyBatisDao dao; @Transactional @Override public void insert(Test test) { dao.insert(test); throw new RuntimeException("test");//抛出unchecked异常,触发事物,回滚 }
@Transactional(noRollbackFor=RuntimeException.class) @Override public void insert(Test test) { dao.insert(test); //抛出unchecked异常,触发事物,noRollbackFor=RuntimeException.class,不回滚 throw new RuntimeException("test"); }
@Transactional(propagation=Propagation.NOT_SUPPORTED) @Override public void insert(Test test) { //事物传播行为是PROPAGATION_NOT_SUPPORTED,以非事务方式运行,不会存入数据库 dao.insert(test); }
注解在类上:当作用于类上时,该类的所有 public 方法将都具有该类型的事务属性
@Transactional public class MyBatisServiceImpl implements MyBatisService { @Autowired private MyBatisDao dao; @Override public void insert(Test test) { dao.insert(test); //抛出unchecked异常,触发事物,回滚 throw new RuntimeException("test"); } }
注意:有时候在开发时往往出现了添加注解后却无法回滚
原因:默认Spring事务只在发生未被捕获的RuntimeException时才回滚。
Spring AOP异常捕获原理:被拦截的方法需显式抛出异常,并不能经任何处理,这样AOP代理才能捕获到方法的异常,才能进行回滚,默认情况下AOP只捕获 RuntimeException 的异常,但可以通过配置来捕获特定的异常并回滚
换句话说在service的方法中不使用try...catch或者在catch中最后加上throw new runtimeexcetpion(),这样程序异常时才能被aop捕获进而回滚。解决方案:
1.在service层方法的catch语句中抛出RuntimeException异常(如在catch中需要抛出自定义的异常则只需自定义异常继承RuntimeException即可),从而触发Spring的异常捕获机制进行事务回滚,但这种方式需要上层处理异常。
2.在service层方法的catch语句中增加如下语句,手动回滚,这样上层就无需去处理异常:
TransactionAspectSupport.currentTransactionStatus().setRollbackOnly()
-
TP-link AC100控制器配置的详细方法
2020-12-19 21:07:48第一次登录时,需要确认以下几点:1) 无线控制器已正常加电启动,任一物理端口已与管理主机相连。2) 管理主机已正确安装有线网卡及该网卡的驱动程序。3) 管理主机已至少安装一种以下浏览器:IE 8.0或以上版本,或... -
SDN控制器OpenDaylight简介
2019-03-24 20:18:19Open Daylight是一个高度可用、模块化、可扩展、支持多协议的控制器平台,可以作为SDN管理平面管理多厂商异构的SDN网络。它提供了一个模型驱动服务抽象层( MD-SAL),允许用户采用不同的南向协议在不同厂商的底层转发... -
博世力士乐控制器在移动机器人中的应用
2022-03-18 19:54:38我们使用的博世力士乐(bosch rexroth)控制器是RC系列,具体型号是RC28-14/30(FLASH版),控制器的外形如下图所示。外壳是铸铝,端口接线通过防水的密封连接器引出。看它长的严严实实的就知道是给经常干脏活的... -
服务和控制器应用CPU占用过高 根源问题彻底解决
2020-07-02 12:39:48他们往往依托服务Winmgmt(也就是Windows Management Instrumentation,即我们说的服务和控制器应用); 比较常见的是MYSQL ,DOCKER造成的; 解决方案: 首先我们可以先禁用对Winmgmt依托的服务,来做初判断 ... -
ARM GICv3中断控制器
2019-02-17 21:55:45GIC,Generic Interrupt Controller。 本文主要介绍GIC v3控制器, 基于linux kernel 4.19.0。 -
tp5怎么跨控制器调用别的方法
2019-04-08 11:30:49以前tp3.2版本跨控制器调用方法的时候用的是A方法 即 $IndexController = A("index"); return $IndexController->index(); 这样就能获取index控制器下面index方法的数据了 。但是TP5这个方法用不了 是应为TP5... -
k8s,盘他!k8s的五种控制器类型解析
2020-05-20 12:01:00文章目录一:k8s的五种控制器1.1:k8s的控制器类型1.2:Deployment控制器1.2.1:测试deployment控制器1.3:SatefulSet控制器1.3.1:创建无头服务的service资源和dns资源1.3.2:创建statefulset资源1.4:DaemonSet... -
服务和控制器应用CPU占用过高问题
2019-09-11 02:14:51服务和控制器应用CPU占用过高问题 解决方案: 重启动 Windows Management Instrumentation 服务 这个治标不治本,只能解决当前开机至今的状态,下次开机问题仍然存在 不过可以设置一个bat,以管理员权限运行,这样... -
AC敏捷控制器及准入控制技术对比
2019-05-31 21:17:25基于用户与应用的网络资源自动化控制系统,作为园区网络的集中化控制核心,全局控制园区网络的用户、业务与安全等策略。 AC应用场景: 传统园区有线无线一体化接入 敏捷园区接入 公共场所无线接入 AC的功能特性: ... -
angularjs控制器间传值的五种方案
2017-12-23 23:42:25控制器间传值1. 父作用域向子作用域传值- broadcasted :从父级作用域广播至子级 scope - $on()捕获事件 $broadcast('MyEvent')">$broadcast('MyEvent')</button>2. 子作用域向父作用域传值- emitted :从子级作用域... -
K8S 的 5种控制器
2020-05-25 20:32:14Pod通过控制器实现应用的运维,如伸缩、升级等,控制器决定了创建pod资源的方式和类型,在集群上管理和运行容器的对象通过label-selector 相关联。 控制器 又称之为工作负载,分别包含以下类型控制器: 5种控制器... -
是你想要的K8S--五种控制器类型解析(Deployment 、StatefulSet 、DaemonSet 、Job 、CronJob)
2020-10-16 12:59:33文章目录一、 控制器1.1 Pod与控制器之间的关系1.2 Deployment特点:应用场景:web服务测试1.2 SatefulSet官方文档特点应用场景:数据库常规service和无头服务区别测试配置dns服务,使用yaml文件创建1.3 有状态与无... -
k8s--五种控制器类型解析
2020-10-14 23:01:16文章目录一、k8s的五种控制器1.1 k8s的控制器类型1.2 Deployment控制器1.3 SatefulSet控制器1.4 DaemonSet控制器1.5 Job控制器1.6 cronjob控制器 一、k8s的五种控制器 1.1 k8s的控制器类型 Kubernetes中内建了很多... -
service层的作用是什么?是否可以省略
2021-08-17 21:07:20一个基本的java项目分成Controller层,service层,mapper层等,controller是控制器层,mapper是数据访问层,与数据库相关,进行对数据库的增删改查等操作,service层负责整合mapper层供外部调用,但因为先阶段所涉及... -
k8s笔记十二(k8s系统的监控及HPA控制器)
2019-06-17 17:12:51监控指标流水线用于从系统收集各种指标数据并提供给终端用户、存储系统及HPA控制器使用。 资源指标API主流的实现是metrics-server,自定义指标API以构建在监控系统Prometheus之上到k8s-prometheus-adapter使用... -
K8s 普通Service和Headless Service的区别
2021-05-30 18:25:23文章目录Service是什么?Service可以用来做什么?Headless Service为什么需要无头服务?Headless Service使用场景总结 K8s Service有四种类型 Service Headless Service NodePort Service LoadBalancer Service ... -
宏碁 4741G系列 PCI简易通讯控制器 驱动
2010-08-29 21:13:21希望对某些人有用 ......或是用我下的这个 -
controller控制器的作用
2020-07-11 00:31:51service(业务层) controller(控制层) 控制层负责接收参数,调用相关业务层,封装数据,以及路由到jsp页面。然后jsp页面上使用各种标签(jstl/el)或者手写java(<%=%>)将后台的数据展现出来。 仅为写笔记。 ... -
Laravel框架中使用Service模式
2018-09-28 15:25:03Laravel框架中使用 Presenter 模式...若将商业逻辑都写在controller,会造成controller肥大而难以维护,基于SOLID原则,我们应该使用Service模式辅助controller,将相关的商业逻辑封装在不同的service,方便中大型项... -
QPCore Service 是什么?是否可以禁用?如何彻底删除它?
2021-05-29 13:28:37不管它是干吗的,打算禁用它,结果失败,该服务不让你停止或禁用,哪怕是打开 Windows 服务管理器,右击该服务,都是灰色不可操作的。这下反而引起了我的兴趣。 QPCore Service QPCore Service 是什么 QPCore ... -
tp5 获取当前控制器名称和方法名称
2018-06-27 15:14:35//获取当前控制器名称 //获取当前控制器名称 $controller=request()->controller(); $this->assign('controller',$controller); //获取当前方法名 $action=request()->action(); ... -
H3C无线控制器V5版本配置AP上线的方法
2021-08-07 02:51:19H3C无线控制器上没有开启自动上线,需要先手动在控制器上输入AP信息,然后新建vlan、新建vlan接口、新建wlan-ess接口、新建无线服务。然后在AP上配置射频参数。交换机上需要开启DHCP,为手机终端分配IP地址,并且... -
h3c无线控制器ac配置
2018-08-24 16:50:08AC控制器配置: 在L3 switch上开启DHCP server功能,AP、无线客户端Client和有线客户端Host都能通过DHCP server自动获取IP地址。 在L3 switch和AC上配置到达对端网段的静态路由。 在AC上配置无线服务,... -
关于Android Service真正的完全详解,你需要知道的一切
2016-10-07 08:11:30Service 1.Service基础知识概述 Service(服务)是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件。服务可由其他应用组件启动(如Activity),服务一旦被启动将在后台一直运行,即使启动服务... -
kubernetes中service与ingress
2022-06-05 22:27:59Service对集群之外暴露服务的主要方式有两种:NotePort和LoadBalancer,但是这两种方式,都有一定的缺点:基于这种现状,kubernetes提供了Ingress资源对象,Ingress只需要一个NodePort或者一个LB就可以满足暴露多个... -
controller调用多个service方法(不在一个service方法)如何保证事务?
2020-07-03 11:28:18一般controller层调用service的方法我们会将业务写在一个方法里面并加上@Transactional这样就能确保事务: @Transactional(rollbackFor = Exception.class) public void insert() { insertMethod1(); insertMethod...