笔记
医者运维
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Kubernetes集群安全概述
转自Kubernetes集群安全概述 - 我是程序员 - 博客园 (cnblogs.com)API的访问安全性API Server的端口和地址在默认情况下,API Server通过本地端口和安全端口两个不同的HTTP端口,对外提供API服务,其中本地端口是基于HTTP协议的,用于在本机(API Server所在主机)无限制的访问API Server,而安全端口则是基于HTTPS协议的,用于远程有限制的访问API Server,下面就这两种端口做详细的介绍。本地端口(Localhost Port转载 2021-10-21 10:40:08 · 1180 阅读 · 0 评论 -
K8s普通用户配置权限解决User “system:anonymous“ cannot list nodes at the cluster scope
cd $HOMEsudo whoamisudo cp /etc/kubernetes/admin.conf $HOME/sudo chown $(id -u):$(id -g) $HOME/admin.confexport KUBECONFIG=$HOME/admin.confecho "export KUBECONFIG=$HOME/admin.conf" | tee -a ~/.bashrc原创 2021-10-21 10:00:27 · 4856 阅读 · 0 评论 -
sed 截取日志
sed -n '/开始字段/,/结束字段/p' 日志名 >> a.txt原创 2021-10-19 11:30:44 · 291 阅读 · 0 评论 -
ssh-copy-id不生效问题
查看 .ssh 的目录权限是不是700 authorized_keys权限是不是600 查看下远程机器用户家目录权限是不是755原创 2021-10-18 10:35:07 · 1940 阅读 · 0 评论 -
Shell脚本中$0、$?、$!、$$、$*、$#、$@
1. $$Shell本身的PID(ProcessID)2. $!Shell最后运行的后台Process的PID3. $?最后运行的命令的结束代码(返回值)4. $-使用Set命令设定的Flag一览5. $*所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。6. $@所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。7. $#添加到Shell的参数个数8. $0Shel..原创 2021-10-14 11:19:46 · 177 阅读 · 0 评论 -
使用awk用一个列替换另一个文件中的列?
转自使用awk用一个列替换另一个文件中的列? - 程序园 (voidcn.com)我有两个文件:f1:111 aaa 444222 bbb 555333 ccc 666f2:111 333 000 444222 444 111 555333 555 555 666如何使用awk替换“f1”中的第二列,使用“f2”中的第三列?尝试:awk 'FNR==NR{a[NR]=$3;next}{$2=a[FNR]}1' f2 f1输出:111 00转载 2021-10-14 10:58:40 · 2423 阅读 · 0 评论 -
Centos网络驱动
链接:https://pan.baidu.com/s/17XSYKlz7zqg5vYcTCgCsuQ提取码:1234--来自百度网盘超级会员V4的分享安装gcc编译tar -xf e1000e-3.8.4.tar.gzcd e1000e-3.8.4/src/makemake installreboot原创 2021-09-30 16:54:57 · 197 阅读 · 0 评论 -
重新初始化k8s master节点
一共分为以下几步:1. 删除/etc/kubernetes/文件夹下的所有文件2. 删除$HOME/.kube文件夹3. 删除/var/lib/etcd文件夹3. 删除/var/lib/etcd文件夹rm -rf /etc/kubernetes/*rm -rf ~/.kube/*rm -rf /var/lib/etcd/*4. 停用端口号, 把下面的这些端口号都停用就oklsof -i:6443|grep -v "PID"|awk '{print "kill -...转载 2021-09-13 14:17:46 · 1787 阅读 · 0 评论 -
查看目录隐藏权限
#查看目录隐藏权限:lsattr /etc/passwd----i--------e- /etc/passwd##权限 i 说明设定文件不能被删除、改名、设定链接关系,同时不能写入或新增内容。去除i权限:chattr -i /etc/passwd增加i权限:chattr +i /etc/passwd...原创 2021-09-10 09:32:34 · 328 阅读 · 0 评论 -
kubernetes 容器内获取Pod信息(包括:宿主主机IP)
kubernetes 自从1.7开始,可以在pod 的container 内获取pod的spec,metadata 等信息。具体方法可以通过env获取: env: - name: MY_NODE_NAME valueFrom: fieldRef: fieldPath: spec.nodeName - name: MY_POD_NAME valueFrom: ...转载 2021-08-20 09:53:17 · 1528 阅读 · 0 评论 -
Gpu 监控
1、先决条件NVIDIA 特斯拉驱动程序 = R384+ (从NVIDIA 驱动程序下载页面下载) nvidia - docker 版本> 2.0 (查看如何安装, 这是先决条件) 可选配置码头工人,将默认运行时间设置为 nvidia 库伯涅茨的 NVIDIA 设备插件(查看如何安装))2.创建PVCapiVersion: v1kind: PersistentVolumeClaimmetadata: name: prometheus-gpu-pvc nam.转载 2021-08-20 09:51:56 · 733 阅读 · 0 评论 -
Prometheus之kubernetes-sd自动发现
kubernetes_sd_config从Kubernetes的REST API上,Kubernets SD配置检索和获取目标,并且始终保持与集群状态同步。下面是role类型中的任何一个都能在发现目标上配置:节点node这个node角色发现带有地址的每一个集群节点一个目标,都指向Kublelet的HTTP端口。这个目标地址默认为Kubernetes节点对象的第一个现有地址,地址类型为NodeInernalIP, NodeExternalIP, NodeLegacyHostIP和NodeHost.转载 2021-08-20 09:50:23 · 770 阅读 · 0 评论 -
PodPresent-K8s时区配置
链接:https://pan.baidu.com/s/1HGLwRNeBBD0GIeGV29Laeg提取码:1234--来自百度网盘超级会员V3的分享修改k8s四个组件配置,参考网盘样例systemctl restart kubeletkubectl apply -fallow-tz-env.yaml创建新pod查看,目前测试对已有容器不生效...原创 2021-08-19 17:18:55 · 250 阅读 · 0 评论 -
Kubernetes Federation V2搭建(持续更新)
1.安装Helm #为后续安装kubefed做准备链接:https://pan.baidu.com/s/1QZSs_g1BkAhootM5cgxubQ提取码:1234tar -xfhelm-v3.3.4-linux-amd64.tar.gzmv linux-amd64/helm /usr/local/bin/helm# helm versionversion.BuildInfo{Version:"v3.3.4", GitCommit:"a61ce5633af997081714143...原创 2021-08-16 16:01:29 · 2388 阅读 · 0 评论 -
Centos最小化装机网络问题
在有网的机器上下载iw rpm包例:yum provides iw #查询iw命令源码包 yum -y install iw --downloadonly --downloaddir=./ #yum只下载不安装 rpm -ivh iw***.rpm #安装iw命令1.查询可用的无线网卡[root@localhost]#iw devphy#0 Interfacewlp2s0 ifindex 3 wdev 0x1 ...原创 2021-08-16 09:24:15 · 239 阅读 · 0 评论 -
docker自定义端口挂载目录
vi /usr/lib/systemd/system/docker.serviceExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:端口 -H unix://var/run/docker.sock -g 目录原创 2021-08-12 09:21:24 · 194 阅读 · 0 评论 -
prometheus之DCGM监控GPU
确保nvidia-device-plugin部署完成,可参考K8s-V1.17.6支持GPU_tty2020的博客-优快云博客docker pull dcgm-exportervidcgm-exporter.yamlapiVersion: apps/v1kind: DaemonSetmetadata: namespace: kube-system name: dcgm-exporterspec: selector: matchLabels: app: .原创 2021-08-12 09:18:08 · 855 阅读 · 0 评论 -
docker之cgroup isnt mounted
#!/bin/sh#Copyright2011Canonical,Inc#2014TianonGravi#Author:SergeHallyn<serge.hallyn@canonical.com>#TianonGravi<tianon@debian.org>set-e#forsimplicitythisscriptprovidesnoflexibility#ifcgroupismo...原创 2021-08-10 09:37:15 · 991 阅读 · 0 评论 -
K8sGPU之daemon.json
{ "default-runtime": "nvidia", "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] } }, "exec-opts": ["native.cgroupdriver=cgroupfs"], "registry-mirrors": ["ht...原创 2021-08-10 09:32:59 · 424 阅读 · 0 评论 -
K8s-V1.17.6支持GPU
docker pull nvidia/k8s-device-plugin:betavi nvidia-device-plugin.ymlapiVersion: apps/v1kind: DaemonSetmetadata:name: nvidia-device-plugin-daemonsetnamespace: kube-systemspec:selector:matchLabels:name: nvidia-device-plugin-dsupdateStrategy:type:原创 2021-08-09 10:16:20 · 254 阅读 · 0 评论 -
K8s镜像拉取策略
imagePullPolicy的用法总结如下:名策略作用Never只使用本地imageAlways每次都下载镜像IfNotPresent优先使用本地image,本地没有再去下载创建pod的时候支持省略imagepullpolicy,此时默认使用的是IfNotPresent...原创 2021-08-09 10:01:21 · 994 阅读 · 0 评论 -
K8s端口暴露实例
apiVersion: v1kind: Podmetadata:name: nginx2labels:app: web spec:containers:- name: ng-web2image: nginx:latestimagePullPolicy: Neverports:- name: httpcontainerPort: 80 --容器端口hostPort: 80 --暴露端口protocol: TCP原创 2021-08-09 10:00:48 · 349 阅读 · 0 评论 -
K8s 环境变量解决方式
步骤一:设置环境变量具体根据情况,此处记录linux设置该环境变量方式一:编辑文件设置vim /etc/profile在底部增加新的环境变量 export KUBECONFIG=/etc/kubernetes/admin.conf方式二:直接追加文件内容echo “export KUBECONFIG=/etc/kubernetes/admin.conf” >> /etc/profile步骤二:使生效source /etc/profile...原创 2021-08-09 10:00:16 · 2659 阅读 · 0 评论 -
Centos服务器时间
1、手动修改服务器时间优点:修改简单易操作缺点:当服务器重启之后服务器时间会根据时区重置echo date +'[%Y-%m-%d %H:%M:%S]' #查看当前时间并格式化成常见格式。如果不想格式化直接使用:datedate -s ‘13:58:00 2019-11-22’ #修改时间为:13:58:00 2019-11-222、修改时区配置文件优点:因为修改的是配置文件所以是一劳永逸rm -rf /etc/localtime #删除当前默认时区的配置文件,不建议直接删除(出原创 2021-08-09 09:58:05 · 790 阅读 · 0 评论 -
查看tcp连接的命令
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’例如输出:SYN_RECV 1CLOSE_WAIT 25ESTABLISHED 122FIN_WAIT1 1FIN_WAIT2 12TIME_WAIT 202其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数CLOSED:无连接是活动的或正在进行LISTEN:服原创 2021-08-09 09:56:26 · 1035 阅读 · 0 评论 -
如何限制用户的内存使用量
1. 首先使用下述命令进入文件sudo vim /etc/security/limits.conf进入后若想限制每一个用户的内存使用量不能超过20G左右,则在最下面添加下图中的语句*** hard rss 21000000**若想限制某个用户test的内存使用量不能超过20G左右,则可添加下图中的命令@test hard rss 21000000做一下说明,上面我们写的四个字段的意思分别是:(1) 加*号表示对所有用户起作用,加@test表示只对某个名叫test的用户起作用。(2) hard说明原创 2021-08-03 10:02:35 · 1578 阅读 · 0 评论 -
Docker修改默认存储位置
修改docker.service文件.vim /usr/lib/systemd/system/docker.service在里面的EXECStart的后面增加后如下:ExecStart=/usr/bin/dockerd --graph /home/docker重启docker生效systemctl daemon-reload && systemctl restart docker...原创 2021-08-03 10:01:40 · 184 阅读 · 0 评论 -
Docker日志日期时间精确查询
docker logs --since=“2020-07-30T10:14:00” --until “2020-07-30T10:15:00” tomcat80这条代码可以通过2个时间来查询指定范围的时间日志–since起始时间(你要从什么时候开始查询),–until 截至时间但是这个控制台输出的日志可能不完整导致你需要更加精确时间去查询。这时候我们可以使用另外一种方式,查询这个日期的物理日志文件来查询日志,具体方法如下:docker ps首先先查询容器的id然后全局搜索这个容器id的文件夹信息原创 2021-08-03 10:01:03 · 5012 阅读 · 0 评论 -
Docker日志大小限制
1、修改docker配置文件,vi /etc/docker/daemon.json{“log-driver”:“json-file”,“log-opts”: {“max-size”:“20m”, “max-file”:“100”}}max-size=500m,意味着一个容器日志大小上限是500M,max-file=3,意味着一个容器有三个日志,分别是id+.json、id+1.json、id+2.json。2、然后重启docker的守护线程systemctl daemon-reload &a原创 2021-08-03 10:00:26 · 4215 阅读 · 0 评论 -
DOCKER OVERLAY2占用大量磁盘空间解决办法
1、首先找到OVERLAY2目录cd /var/lib/docker/overlay22、查看文件的大小du -h --max-depth=13、查看占用空间的PID,以及对应的容器名称docker ps -q | xargs docker inspect --format ‘{{.State.Pid}}, {{.Name}}, {{.GraphDriver.Data.WorkDir}}’ | grep “6b6572a745dccd415280c6b4eacdfb531c61c5f3618b原创 2021-08-03 09:59:44 · 1296 阅读 · 0 评论 -
modprobe:用于向内核中加载模块或者从内核中移除模块
modprobe br_netfilter 加载模块modprobe -r br_netfilter 移除1、查看系统中所有modules(包括已加载和未加载的)ls -alRUv /lib/modules/$(uname -r)/kernel2、查看已加载的模块lsmod 或 cat /proc/modules3、检查某一module的信息[root@compute ~]# modinfo br_netfilterfilename: /lib/modules/3.10原创 2021-08-03 09:58:32 · 875 阅读 · 0 评论 -
kubernetes之一步一个坑
kubernetes执行kubectl get nodes发生问题:Unable to connect to the server: x509: certificate signed by unknown authority (possibly because of “crypto/rsa: verification error” while trying to verify candidate authority certificate “kubernetes”)步骤一:设置环境变量具体根据情况,此处原创 2021-08-03 09:57:22 · 144 阅读 · 0 评论 -
K8s卸载清理&flannel插件清理
K8s相关目录清理yum remove -y kubelet kubeadm kubectlkubeadm reset -fmodprobe -r ipiplsmodrm -rf ~/.kube/rm -rf /etc/kubernetes/rm -rf /etc/systemd/system/kubelet.service.drm -rf /etc/systemd/system/kubelet.servicerm -rf /usr/bin/kube*rm -rf /etc/cnirm原创 2021-08-03 09:53:16 · 4103 阅读 · 0 评论 -
ansible普通用户部署K8s要点
本篇在不知道root密码的情况下,创建普通用户提权部署K8s1.创建普通用户,给予sudo权限2.ansible给予sudo权限,具体配置如下[defaults]remote_user = test #需要提权的普通用户[privilege_escalation] //设置用户 sudo 提权become=Truebecome_method=sudobecome_user=rootbecome_ask_pass=False #不提示输入密码3.如果playbook执行的任务需要管理员权限原创 2021-08-03 09:50:44 · 364 阅读 · 0 评论 -
记录一次K8s-Flannel插件的坑
版本:K8s版本1.17.6部署方式:ansible二进制部署架构:master1+node2+registry私有仓库执行kubectl apply -f kube-flannel.yaml无报错kubectl get pods -n kube-system查看kube-flannel状态为init0/1kube-proxy状态为container利用kubectl describe/log 排查容器异常,发现拉取不到私有仓库镜像,查看详细信息,调用了https的方式,于是乎查看配置信息没有原创 2021-08-03 09:43:27 · 913 阅读 · 0 评论 -
模拟消耗CPU之shell脚本
模拟消耗CPU之shell脚本#!/bin/shfilename killcpu.shif [ $# != 1 ] ; thenecho “USAGE: $0 "exit 1;fifor i in seq $1doecho -ne "i=0;while truedoi=i+1;done” | /bin/sh &pid_array[i]=i]=i]=! ;donefor i in “${pid_array[@]}”; doecho 'kill ’ $i ‘;’;d原创 2021-06-29 08:50:37 · 775 阅读 · 0 评论 -
kafka+zookeeper内外网双网卡配置(针对不同网段)
针对生产环境下:1.打开zookeeper配置文件zoo.cfg关键配置项参数如下,其他默认或按需即可clientPortAddress=0.0.0.0server.1=内网:12888:13888quorumListenOnAllIPs=true #监听全部网卡重启2.打开kafka配置文件server.properties关键配置项参数如下,其他默认或按需即可listeners=INSIDE://内网:9091,OUTSIDE://外网:9092 #注意端口不能重复advertise原创 2021-06-16 14:22:03 · 3531 阅读 · 1 评论 -
linux日常
—系统命令1.到线上数据将所需ibd文件拷贝过来,我的路径是:/data/mysql/dress5/t_news.ibd2.到需要导入的数据库:执行:truncate table t_news;执行:alter table t_news discard tablespace;完成后将t_news.ibd复制到mysql存放数据(该数据库)的位置3.完成后执行: alter table t_news import tablespace;(注意:需要修改文章读写权限,文件越大执行时间越长)查看是否原创 2021-06-16 14:10:57 · 175 阅读 · 0 评论 -
利用sshpass实现ansible功能
首先,rpm -ivh sshpass.rpm --nodepssshpass -p “密码” ssh -o StrictHostKeyChecking=no root@ip “执行命令”一般用于远程免密操作指令sshpass -p “密码” scp -o StrictHostKeyChecking=no 本地文件名 root@ip:远程目录一般用于远程免密传输文件#由于使用的是明文密码,生产环境不建议操作,如有需要,可在执行操作后删除历史记录,执行以下命令history -cecho &g原创 2021-05-06 14:11:39 · 629 阅读 · 0 评论
分享