K8S(Kubernetes)是⼀个容器集群管理系统,可以做容器集群的⾃动化部署,⾃动化扩缩容,维护等功能
传统应⽤部署是通过将程序打包在服务器上运⾏,通过运行脚本将程序跑起来,如果⼀个服务器⽆法响应⼤量请求,需要通过运维⼈员添加服务器来做负载均衡来分担压⼒,在此过程中,是有⼈⼒介⼊的过程的,K8S⽤于解决该问题
K8S是属于主从设备模型(Master-Slave模型),Master节点主要负责容器的调度、管理和运维,Slave节点负责⽤户程序的执⾏,主节点⼀般称之为Master Node或者Head Node,从节点⼀般称之为Worker Node或者Node,⼀般来说,主节点或者从节点都是K8S的Master组件和Slave组件的实体服务器,每⼀个Node节点都对应着⼀台服务器(可以将Master和Slave安装在同⼀台服务器上,但是不推荐),所有的节点构成K8S集群系统,在⼀个集群中可以存在多个Master节点和Slave节点
1.快速部署应用
2.快速扩展应用
3.无缝对接新的应用功能
4.节省资源,优化硬件资源的使用
Pod:Pod是在Kubernetes中创建和管理的最⼩可部署的计算单元
Deployment:作⽤是管理和控制Pod和ReplicaSet,管控它们运⾏在⽤户的期望之中
ReplicaSet:管理和控制Pod,但是它是受控于Deployment的,类似于包⼯头下的⼩包⼯头
Service:负责管控Pod的⽹络服务,K8S中的服务不同于我们常说的服务,在官⽅给的解释中说到,Kubenetes为Pods提供⾃⼰的IP地址,并为⼀组Pod提供相同的DNS域名,并且可以在它们之间进⾏负载均衡,这相当于API⽹关,做⼀个负载均衡器。
kubectl taint nodes --all node-role.kubernetes.io/master-
kubectl get node -owide #查看节点信息
kubectl top node #查看Node的资源使用情况
kubectl describe node nodeName #查询节点的详细信息
kubectl get node --show-labels #查看节点标签
kubectl label nodes xxx k1=v1 #给节点添加标签
kubectl label nodes xxx k1- #删除标签
kubectl create ns #创建ns
kubectl get ns #获取所有的NameSpace
kubectl apply -f pod-nginx.yml #使用yaml文件创建Pod
kubectl delete -f pod-nginx.yml #使用yaml文件删除Pod
kubectl get pod -n ns #查看ns下所有的Pod
kubectl describe pod -n k8s-demo xxx #查看Pod的详细信息
kubectl delete pod -n ns xxx #删除Pod
kubectl set image deploy nginx-deployment -n ns *=nginx:latest #修改Pod的镜像版本
kubectl scale deploy -n k8s-demo nginx-deployment --replicas=2 #设置Pod的副本数量
Pod是平凡的,它门会被创建,也会死掉(生老病死),并且他们是不可复活的,每个pod都有自己的ip,这些IP也随着时间的变化也不能持续依赖。这样就引发了一个问题:如果一些Pods提供了一些功能供其它的Pod使用(让我们叫作前台),在kubernete集群中是如何实现让这些前台能够持续的追踪到这些后台的。答案是Service
apiVersion: v1
kind: Pod
metadata:
name: nginx
namespace: demo
spec:
nodeSelector:
app: nginx
containers:
- name: nginx
image: nginx:1.18.0
# 镜像拉取策略,默认是IfNotPresent,其余还有Always, Never
imagePullPolicy: IfNotPresent
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
namespace: demo
spec:
# 副本数
replicas: 3
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
# 绑定节点
nodeName: demoNode
# 通过标签进行节点选择
nodeSelector:
app: nginx
containers:
- name: nginx
image: nginx:1.18.0
env:
- name: k1
value: v1
ports:
- containerPort: 80
# 存活探针
livenessProbe:
httpGet:
path: /index.html
port: 80
initialDelaySeconds: 3
periodSeconds: 3
# 就绪探针
readinessProbe:
httpGet:
path: /index.html
port: 80
initialDelaySeconds: 3
periodSeconds: 3
apiVersion: v1
kind: Service
metadata:
name: nginx
spec:
# 通过标签与pod匹配
selector:
app: nginx
ports:
- name: default
protocol: TCP
port: 80
targetPort: 80
type: ClusterIp
说明:以上K8S内容只是本人作为一个简单入门的记录,包含了日常工作的基本使用,再往深的内容并不涉及,比如Etcd存储,调度器,监控器等等,这些内容可以上Kuberneters的中文社区自己学习
1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,
Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功
目录前言滤波电路科普主要分类实际情况单位的概念常用评价参数函数型滤波器简单分析滤波电路构成低通滤波器RC低通滤波器RL低通滤波器高通滤波器RC高通滤波器RL高通滤波器部分摘自《LC滤波器设计与制作》,侵权删。前言最近需要学习放大电路和滤波电路,但是由于只在之前做音乐频谱分析仪的时候简单了解过一点点运放,所以也是相当从零开始学习了。滤波电路科普主要分类滤波器:主要是从不同频率的成分中提取出特定频率的信号。有源滤波器:由RC元件与运算放大器组成的滤波器。可滤除某一次或多次谐波,最普通易于采用的无源滤波器结构是将电感与电容串联,可对主要次谐波(3、5、7)构成低阻抗旁路。无源滤波器:无源滤波器,又称
@作者:SYFStrive @博客首页:HomePage📜:微信小程序📌:个人社区(欢迎大佬们加入)👉:社区链接🔗📌:觉得文章不错可以点点关注👉:专栏连接🔗💃:感谢支持,学累了可以先看小段由小胖给大家带来的街舞👉微信小程序(🔥)目录自定义组件-behaviors 1、什么是behaviors 2、behaviors的工作方式 3、创建behavior 4、导入并使用behavior 5、behavior中所有可用的节点 6、同名字段的覆盖和组合规则总结最后自定义组件-behaviors 1、什么是behaviorsbehaviors是小程序中,用于实现
遍历文件夹我们通常是使用递归进行操作,这种方式比较简单,也比较容易理解。本文为大家介绍另一种不使用递归的方式,由于没有使用递归,只用到了循环和集合,所以效率更高一些!一、使用递归遍历文件夹整体思路1、使用File封装初始目录,2、打印这个目录3、获取这个目录下所有的子文件和子目录的数组。4、遍历这个数组,取出每个File对象4-1、如果File是否是一个文件,打印4-2、否则就是一个目录,递归调用代码实现publicclassSearchFile{publicstaticvoidmain(String[]args){//初始目录Filedir=newFile("d:/Dev");Datebeg
ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实、引用或专业知识的支持,但这个问题可能会引发辩论、争论、投票或扩展讨论。如果您觉得这个问题可以改进并可能重新打开,visitthehelpcenter指导。关闭9年前。我最近开始学习Ruby,这是我的第一门编程语言。我对语法感到满意,并且我已经完成了许多只教授相同基础知识的教程。我已经写了一些小程序(包括我自己的数组排序方法,在有人告诉我谷歌“冒泡排序”之前我认为它非常聪明),但我觉得我需要尝试更大更难的东西来理解更多关于Ruby.关于如何执行此操作的任何想法?
(本文是网络的宏观的概念铺垫)目录计算机网络背景网络发展认识"协议"网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型报头以太网碰撞路由器IP地址和MAC地址IP地址与MAC地址总结IP地址MAC地址计算机网络背景网络发展 是最开始先有的计算机,计算机后来因为多项技术的水平升高,逐渐的计算机变的小型化、高效化。后来因为计算机其本身的计算能力比较的快速:独立模式:计算机之间相互独立。 如:有三个人,每个人做的不同的事物,但是是需要协作的完成。 而这三个人所做的事是需要进行协作的,然而刚开始因为每一台计算机之间都是互相独立的。所以前面的人处理完了就需要将数据
文章目录1.任务背景2.任务目标3.相关知识点4.任务实操4.1安装配置JDK4.2启动FISCOBCOS4.3下载解压WeBASE-Front4.4拷贝sdk证书文件4.5启动节点4.6访问节点4.7检查运行状态5.任务总结1.任务背景FISCOBCOS其实是有控制台管理工具,用来对区块链系统进行各种管理操作。但是对于初学者来说,还是可视化界面更友好,本节就来介绍WeBASE管理平台,这是一款微众银行开源的自研区块链中间件平台,可以降低区块链使用的门槛,大幅提高区块链应用的开发效率。微众银行是腾讯牵头设立的民营银行,在国内民营银行里还是比较出名的。微众银行参与FISCOBCOS生态建设,一定
TCL脚本语言简介•TCL(ToolCommandLanguage)是一种解释执行的脚本语言(ScriptingLanguage),它提供了通用的编程能力:支持变量、过程和控制结构;同时TCL还拥有一个功能强大的固有的核心命令集。TCL经常被用于快速原型开发,脚本编程,GUI和测试等方面。•实际上包含了两个部分:一个语言和一个库。首先,Tcl是一种简单的脚本语言,主要使用于发布命令给一些互交程序如文本编辑器、调试器和shell。由于TCL的解释器是用C\C++语言的过程库实现的,因此在某种意义上我们又可以把TCL看作C库,这个库中有丰富的用于扩展TCL命令的C\C++过程和函数,所以,Tcl是