函数的注意事项和使用细节1、函数的参数列表可以是多个,也可以没有 ,比如() 、 (n1,n2,n3)2、函数的命名遵循标识符命名规则和规范函数名一律小写,如果有多个单词,用下划线隔开,另外,私有函数以双下划线开头 def my_func(var1,var2): pass def_private_func(var1,var2): pass#错误示范,不能以数字开头 def 2f(): p
函数调用机制如何理解函数这个概念,举个例子老张给小张下达任务:去超市买一瓶可乐,小张返回结果; 程序员调用函数(给函数必要的输入),函数返回结果 #没有返回结果 默认返回的是None #没有返回结果本身也是一种结果函数通俗理解函数-调用过程(!!!)用下面这些代码举例子def get_sum(num1,num2): #这样只是返回total 并不输出! eturn = nu
为什么需要函数输入两个数,再输入一个预算符(+、-、*、/)得到结果# 输入两个数,再输入一个预算符(+、-、*、/)得到结果 sum1 = float(input("请输入一个数:")) compute = input("请输入计算符号(+-*/):") sum2 = float(input("请输入一个数:")) if compute == "*": result = sum1 * s
此方法不仅可以使用nexus,其他任何服务都可以通过此方式进行联网,也可以直接让Linux主机配置代理联网,这样直接一劳永逸了因为服务器无法连接互联网,我们需要有网的机器上安装代理工具有网络的机器这里用的是windows,Linux没有尝试,只提供软件下载地址代理内网主机访问互联网工具 Linux: https://www.squid-cache.org/Versions/ windows:可
备份etcd1.备份创建备份目录 mkdir -p /data/etcd_backup/backup 备份etcd数据 ETCDCTL_API=3 etcdctl snapshot save /data/etcd_backup/backup/snap-etcd-backup-$(date +%F-%H-%M-%S).db \ --endpoints=https://192.168.1.64:2
k8s常用的网络模型Calicocalico Pod 跨界点通信 在两个node下 分别启动两个不同的pod两个不同节点的Pod报文是通过IPIP协议,IPIP协议:把pod 的ip信息封装到了node的ip报文里面,到达目标node,然后解包最终到达目标pod比如node1 ip为10.10.10.1 node1上的pod1 ip为11.11.11.1node2 ip为10.10.10.2
Prometheus和Grafana持久化存储之前部署的数据是在临时的存储目录里面,当pod重启或者被删除后,数据也就没了 对于Prometheus监控来说根据需求保存1周或者1个月,但是一定要持久化存储一、配置Prometheus数据持久化查看之前创建的nfs动态存储root@guoguo-M5-Pro:~# kubectl get storageclasses.storage.k8s.io N
因为我们是二进制安装的coreDNS需要调整一下1.查看coreDNS暴漏的prometheus端口号/metrics[root@k8s-master1 data]# kubectl edit pod -n kube-system node-local-dns-4jck7 #随便找个dns的pod进去看下 搜索关键字 metrics ...... ...... ports: -
使用Prometheus监控二进制部署的etcd一、配置监控etcdetcd和其他的不太一样,他是https的 需要证书 略微麻烦一些我的etcd集群是单独部署在三台服务器上的172.17.20.104 etcd1.guoguo.com 172.17.20.105 etcd2.guoguo.com 172.17.20.106 etcd3.guoguo.com我们需要使用自签证书来访问e
使用prometheus来监控ingress-nginxingress-nginx配置了metrics通过标签去查看ingress的podroot@guoguo-M5-Pro:/apps/k8s/prometheus# kubectl get pods -n kube-system -l app=ingress-nginx -owide NAME
因为我们是二进制安装的k8s需要手动配置scheduler和controller-manager直接edit修改 [root@k8s-master1 ~]# kubectl -n monitoring edit servicemonitors.monitoring.coreos.com kube-controller-manager ...... ...... - action: drop
新创建的prometheus 都会遇到一个权限的报错现在promehtues ui 页面是看不到 监控项的查看报错root@guoguo-M5-Pro:/apps/k8s/prometheus/servicemonitor# kubectl -n monitoring logs prometheus-k8s-0 -c prometheus ...... ...... level=error ts
Kubernetes收集日志方案使用Volume挂载通过配置Pod的YAML文件,将宿主机上的目录挂载到Pod中,使Pod中的日志直接写入到宿主机的目录中,从而实现日志的本地保存。这种方法通常使用HostPath或PersistentVolume(PV)和PersistentVolumeClaim(PVC)来实现。Volume挂载方案如果使用Volume挂载方案将日志写入宿主机目录,那么即使Pod
RBAC角色访问控制策略在k8s上控制访问权限,Role-based access control (RBAC) - 基于角色(Role)的访问控制,(RBAC)是一种基于组织中用户的角色来调节控制对 计算机或网络资源的访问的方法。RBAC里面的几种资源关系图,下面将用下面的资源来演示生产中经典的RBAC应用|--- Role --- RoleBinding #只在指
在k8s上跑个一次性任务或者定时任务不知道怎么写yaml 查看帮助root@guoguo-M5-Pro:~# kubectl create job -h Create a job with the specified name. Examples: # Create a job kubectl create job my-job --image=busybox #最简单的例子 没有写
一、netshoot介绍开源的容器工具箱 https://github.com/nicolaka/netshoot ,它是一个Docker + Kubernetes网络故障排除瑞士军刀容器一点都不为过,我们可以使用这个工具或者参考这个开源项目打造属于自己的容器yaml文件格式apiVersion: apps/v1 kind: Deployment metadata: labels:
报错root@node-1:~# journalctl -u kubelet.service -f Apr 08 15:49:09 node-1 kubelet[1401]: E0408 15:49:09.554910 1401 dns.go:158] "Nameserver limits exceeded" err="Nameserver limits were exceeded, som
两种Windows wiresharkLinuxTCP dump1、抓取回环网口的包:tcpdump -i lo 2、防止包截断:tcpdump -s0 3、以数字显示主机及端口:tcpdump -n第一种是关于类型的关键字,主要包括host,net,port, 例如 host 210.27.48.2,指明 210.27.48.2是一台主机,net 202.0.0.0 指明 202.0.0.0
root@guoguo-M5-Pro:~# kubectl explain pod.spec.containers.volumeMounts.subPath KIND: Pod VERSION: v1 FIELD: subPath <string> DESCRIPTION: Path within the volume from which the co
安装kubectl命令工具macOSHomebrew安装命令: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" Homebrew卸载命令: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw
MongoShake实时同步迁移https://github.com/alibaba/MongoShake一、开始部署1.下载wget https://github.com/alibaba/MongoShake/releases/download/release-v2.4.7-20200630/mongo-shake-v2.4.7_2.tar.gz2 . 解包[root@mdb1 data]# t
一、部署1.1 环境准备IP角色系统192.168.1.81Mongos:27017、configserver:27020、shard1:27021、shard2:27022Kylin V10 x86192.168.1.82Mongos:27017、configserver:27020、shard1:27021、shard2:27022Kylin V10 x86192.168.1.83Mongos
MongoDB分片集群(sharded cluster)一、分片集群的介绍1.1分片集群概述MongoDB分片集群是用于将数据分散到多个机器上的一种架构,目的是通过分布式存储来提高横向扩展和处理大规模数据集的能力。通过分片,MongoDB可以有效地处理海量数据,同时保证高可用性和负载均衡。1.2 MongoDB分片集群的核心组件① Shard(分片):每个Shard实际上就是一个副本集(Repli
副本集配置官方文档https://docs.mongodb.com/manual/tutorial/deploy-replica-set/1.1副本级介绍两种集群:一种是分片,一种是副本级的 副本集的组成 MongoDB 副本集由一组节点组成,其中包括以下角色: 1. 主节点(Primary): • 唯一能接收写操作的节点。 • 所有写操作都会记录到主节点的 o
工具介绍1.1官网地址https://docs.mongodb.com/manual/reference/program/1.2 mongdmongod是MongoDB系统的主要守护进程,他处理数据请求,管理数据访问,并执行后台管理操作。启动进程制定配置文件,控制数据库的行为1.3mongos对于“MongoDB Shard”,是用于处理来自应用层的查询的MongoDB分片配置的路由服务,并确定此
授权和索引授权认证就是他有各种角色,在一个角色下面可以对不同的数据库进行不同的权限操作,比如说:两个角色开发和运维,然后数据库有db1 db2 db3 ,按照要求比如给开发可以对db1作读和写操作,但是只能对db2和db2做读操作。运维对所有数据库都有增删改查权限,这些都是可以实现的,可以对不同的数据库不同的权限,根据自己的需求进行设定1.1 官网https://docs.mongodb.com/
一、基本操作1.1介绍CRUD操作是create(创建),read(读取),update(更新)和delete(删除)文档。 MongoDB不支持多文档事务(mongodb4.0开始支持ACID)。但是MongDB确实在一个文档上提供了原子操作。尽管集合中的文档通常是通用的,但是MongoDB中的稽核不需要指定schema。 MongoDB不支持SQL但是支持自己的丰富的查询语言。 在MongoD
一、安装部署1.1 官方文档https://docs.mongodb.com/manual/?_ga=2.57024426.1834178963.1557492386- 816165234.15574923861.2 安装方式官方下载地址:https://www.mongodb.com/download-center/community这里选用 tar 包的安装方式https://fastdl.m
Copyright © 2005-2025 51CTO.COM 版权所有 京ICP证060544号