记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
Kubernetes之容器数据写满磁盘解决方法磁盘写满引发的后果容器数据磁盘写满造成的后果:Pod 不能删除 (一直 Terminating)Pod 不能被创建 (一直 ContainerCreating)磁盘写满分两种情况:磁盘空间全部使用完# 系统盘被占满
$ df -Th
文件系统 类型 容量 已用 可用 已用% 挂载点
/dev/vda1 ext4 50G 50G 0G 100% /
/dev/vdb1 ext4 100G 10G 90G 10% /data
磁盘 Inode 全部使用完# 数据盘 Inode 被占满
$ df -i
文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点
/dev/vda1 3276800 3276800 0 100% /
判断磁盘写满方法下面命令能快速的排查...
在 KubeSphere 上安装 PorterLB 本文档介绍如何在KubeSphere Web 控制台上安装和删除 PorterLB。 注意 在 Kubernetes 集群中,您只需要安装一次 PorterLB。安装完成后,将在集群中安装包含 Porter-manager Pod 的 Porter-manager Deployment。Porter-manager Pod 为整个 Kubernetes 集群实现了 PorterLB 的功能。 安装完成后,您可以扩展 Porter-manager Deployment 并将多个 PorterLB 副本(Porter-manager Pod)分配给多个集群节点,以确保高可用性。有关详细信息,请参阅配置多个 PorterLB 副本。 先决条件 您需要使用 KubeSphere 准备一个 Kubernetes 集群,并确保 Kubernetes 版本为 1.15 或更高版本。PorterLB 需要 CustomResourceDefinition (CRD) v1,它仅由 Kubernetes 1.15 或更高版本支持。您可以使用以下方法来安装 KubeSphere: 使用 KubeSphere 部署一个新的 Kubernetes 集群。 ...
Kubesphere整合的Jenkins 默认登陆密码查看整合后的密码如下:// 先记着了就不用去查看了P@88w0rd// 也可以使用命令查看kubectl logs -n kubesphere-system $(kubectl get pod -n kubesphere-system -l app=ks-install -o jsonpath='{.items[0].metadata.name}') -f
Kubesphere使用ingress监控80/443端口实现域名访问1,kubesphere如果需要微服务对外服务,那要创建一个项目网关或是集群网关。这样会开通一个随机NodePort端口,再配置应用路由以提供域名方式访问或是直接通过nodeport暴露端口方式对外服务。2,使用上面方式都是域名+随机端口或是ip+随机端口方式,比较麻烦。这里就在kubeshpere中安装一个ingress入口网关,这样就可以直接使用80或是443端口,达到只使用域名就可以访问。3,具体实现步骤. 1),修改kubernetes的对外端口范围。修改完后,安装好ingress后,可以再修改回来。 k8s默认使用NodePort对外映射端口范围是30000-50000,可以通过修改kube-apiserver参数修改端口范围 修改配置文件/etc/kubernetes/manifests/kube-apiserver.yaml增加或者修改以下配置 - --service-node-port-range=1-65535 vi /etc/kubernetes/manifests/kube-apiserver.yaml如下图: 2),给kubesphere添加ingress服务,具体YAML文件看最后文档。 kubectl apply -f ingress.yaml 添加相关资源。 3),登陆kubesphere的管理员账号,到集群管理页面。查看&nbs...
Docker and system monitoringdocker安装prometheus,grafana,cadvisor并监控容器与主机信息系统指标此仪表板(ID是893)显示 Docker 和系统指标,目的是将所有指标放在一个仪表板上。第一行表示带有仪表和文本/图形的系统度量(易于可视化和极简主义)。时间内存使用/交换磁盘使用情况负荷网络中央处理器使用率磁盘 I/O针对磁盘使用情况、内存使用情况和负载使用情况设置警报,以便在指标受到批评时发出警告。Docker 指标仪表板的第二部分是 Docker 指标,更详细地使用图形。每个容器的 CPU 使用率每个容器的已发送网络每个容器的接收网络每个容器的内存使用率/交换量每个容器的剩余内存(如果men_limit docker-compose.yml 中定义)服务器配置我使用 docker-compose 来设置我的监视:https://github.com/vegasbrianc/prometheus。我的仪表板使用此配置。服务运行:dockerprometheusnode-exporteralertmanagercadvisorgrafana v4使用 docker-compose.yml 安装 docker-compose.ymlprometheus:
image: prom/prometheus:latest
container_name: monitoring_prometheus
restart: unless-stopped
volumes:
- ./data/prometheus/config:/etc/prometh...
Prometheus基于文件的服务发现一,prometheus的服务发现简介。服务发现支持: endpoints,ingress,kubernetes,node,pod,service。Prometheus也提供了服务发现功能,可以从consul,dns,kubernetes,file等等多种来源发现新的目标。其中最简单的是从文件发现服务。• azure_sd_configs
• consul_sd_configs
• dns_sd_configs
• ec2_sd_configs
• openstack_sd_configs
• file_sd_configs
• gce_sd_configs
• kubernetes_sd_configs
• marathon_sd_configs
• nerve_sd_configs
• serverset_sd_configs
• triton_sd_configs二、具体过程。 1,环境介绍: 1),IP: 192.168.1.20,docker主机安装prometheus,node-exporter. 2),IP: 192.168.1.41 2,prometheus安装说明,docker容器的具体安装命令不再说了,比较简单,我这里修改了端口,其它的不变 具体可以看下图。 3,prometheus容器中的/etc/prometheus/prometheus.yml配置文件,具体内容如下: 编写配置文件:vim prometheus.yml# my global config
global:
scrape_inte...
ansible-playbook上传脚本执行并查找匹配文件下载一,环境说明。 1,IP:192.168.1.20,Centos6,ansible主机。 2,IP:192.168.1.25-28,Centos6,保存sim相关信息,受控机。 3,目标:提取受控机中产生登陆信息的sim号码,并排序去重后打包。 数据样本: /home/TrackFile/138/5555/6666/20211201.txt ,号码分段,有登陆信息后,每日一个文档二,脚本与YAML文件编写。 1,编写simcount.sh脚本,用来统计远程主机的sim号码,并排序去重后打包。 simpwd 是号码登陆信息的保存目录,simcount为上传的脚本保存目录。#!/bin/bash# 统计目录下产生信息的sim号码并去重排序,打包。simpwd='/home/aaaa/TrackFile' #sim信息保存目录simcount='/home/aaaa/simonline' #统计脚本保存目录hostip=`/sbin/ifconfig | grep 'inet addr:'| grep -v '127.0.0.1' | cut -d: -f2 | awk 'NR==1 { print $1}'`#找出轨迹目录下产生定位的sim号码find $simpwd -name "202112*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$9}' > $simcount/$hostip-202112.txtfind $simpwd -name "202111*.txt" |grep -v zip |awk 'BEGIN {FS="/"} {print $7$8$...
docker安装prometheus+grafana监控平台一,环境说明。 1,主机IP:192.168.1.20,docker环境,安装prometheus, node-exporter,alertmanager。 2,主机IP:192.168.1.41,docker环境,安装pushgateway,grafana,node-exporter。二,各个组件的安装。 1,192.168.1.20主机中先建好相关挂载目录。 prometheus挂载文件 : /opt/prometheus/config/prometheus.yml ---> /etc/prometheus/prometheus.yml /opt/prometheus/work ---> /prometheus 2,prometheus.yml文件的具体内容。# my global configglobal: scrape_interval: 15s evaluation_interval: 15s # scrape_timeout is set to the global default (10s).# Alertmanager configurationalerting: alertmanagers: - static_configs: - targets: - 192.168.1.20:9093rule_files: # - "first_rules.yml" # - "second_rules.yml" # - "/etc/prometheus/rules/*.rules"scrape_configs:&nb...
ansible批量更新修改用户密码 一,问题背景因为服务器用户密码定期90天必须修改密码,因此需要进行批量化操作。使用有sudo权限的普通用户进行操作二,环境系统IP软件备注centos7192.168.11.140ansible2.9.7安装需要epel源centos7192.168.153.130nullnull三,操作步骤取消key验证[admin]# sudo sed -i 's/^#host_key_checking = False/host_key_checking = False/g' /etc/ansible/ansible.cfg
定义hosts文件[admin]# sudo vim /etc/ansible/hosts
[backsrvs]
192.168.153.130 ansible_ssh_user=admin ansible_ssh_pass=admin1234 ansible_become_pass=admin1234
ansible_ssh_user,ansible_ssh_pass 这两个是需要更新密码的主机的远程登陆账号与密码(如使用ssh互信就不用再写密码),ansible_become_pass是运行sudo命令的账号的密码,再运行命令时,如果 提示输入当前账号的密码,就需要使用此密码。 定义playbooks[admin]# sudo vim /etc/ansible/update_users_pd.yml
- name: 由于线上服务器普通账号三个月密码需要更新,这里采用普通用户登陆,再用sudo命令修改密码。
hosts: backsrvs
remote_user: admin
gather_facts: false
tasks:
- ...
docker安装gitlab-runner-ci构建项目时缓存使用方法一,环境说明。 1,docker中安装gitlab-runner。 2,gitab仓库中添加的项目中配置ci/cd流水线后,gitlab-runner会新建容器来构建部署项目。 3,gitlab-runner,如果不使用缓存,那么构建项目时速度比较慢。因为每次使用容器构建时,都要重新下载相关依赖。二,gitlab-runner在容器中使用缓存的项目中.gitlab-ci.yml配置具体内容。 1,具体内容如下:image: node:14masterbuild: tags: - cicdrunner stage: build cache: key: same-key paths: - node_modules/ script: - npm install --registry=https://registry.npm.taobao.org - npm run build only: - master &nbs...
最新评论