coredns故障
coredns故障现象:coredns链接apiserver失败:1234[INFO] plugin/ready: Still waiting on: "kubernetes"[INFO] plugin/ready: Still waiting on: "kubernetes"[WARNING] plugin/kubernetes: Kubernetes API connection failure: Get "https://10.68.0.1:443/version": dial tcp 10.68.0.1:443: i/o timeout 排查过程查看k8s的apiserver的状态:kubectl get svc 123NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGEkubernetes ClusterIP 10.68.0.1 <none> 443/TCP 172m 在宿主...
JuiceFS挂载minio
JuiceFS挂载minio 引用官方文档:官方文档 JuiceFS 是一款面向云原生设计的高性能分布式文件系统,在 Apache 2.0 开源协议下发布。提供完备的 POSIX 兼容性,可将几乎所有对象存储接入本地作为海量本地磁盘使用,亦可同时在跨平台、跨地区的不同主机上挂载读写。 JuiceFS 采用「数据」与「元数据」分离存储的架构,从而实现文件系统的分布式设计。文件数据本身会被切分保存在对象存储(例如 Amazon S3),而元数据则可以保存在 Redis、MySQL、TiKV、SQLite 等多种数据库中,你可以根据场景与性能要求进行选择。 JuiceFS 提供了丰富的 API,适用于各种形式数据的管理、分析、归档、备份,可以在不修改代码的前提下无缝对接大数据、机器学习、人工智能等应用平台,为其提供海量、弹性、低价的高性能存储。运维人员不用再为可用性、灾难恢复、监控、扩容等工作烦恼,专注于业务开发,提升研发效率。同时运维细节的简化,对 DevOps 极其友好。 k8s集群的存储一直是比较难以解决的问题。将k8s的存储大致可以分为两部分,第一部分是属于存在于k8s节点上...
k8s-nodeshell实现
k8s-nodeshell实现对于node我们一般会禁止ssh登录,但有时又不得不登录到node节点查看和debug,这时就可以通过node-shell的方式获得对应node的root shell~ 安装:https://github.com/kvaps/kubectl-node-shell/tree/master 使用curl进行安装。 123curl -LO https://github.com/kvaps/kubectl-node-shell/raw/master/kubectl-node_shellchmod +x ./kubectl-node_shellsudo mv ./kubectl-node_shell /usr/local/bin/kubectl-node_shell 使用 123456789101112131415# Get standard bash shellkubectl node-shell <node># Use X-mode (mount /host, and do not enter host namespace)kubec...
NVIDIA和ubuntu踩坑
NVIDIA和ubuntu踩坑十多台机器,有新有旧,搭建个测试环境,机器配置都还可以服务器裸机裸跑k8s。很快就搭建完了,刚开始还没什么问题,每个节点运行状态都很良好,英伟达驱动也正常访问,调度了一些服务上去也正常running 然后周五,发现有的英伟达的驱动掉了,具体表现就是nvidia-smi报错,查看pci设备,发现报错: 12NVIDIA-SMI has failed because it couldn't communicate with the NVIDIA driver. Make sure that the latest NVIDIA driver is installed and running. 这肯定是由于显卡温度过高导致的,我找it核对了下。it反馈,有几台机器是单独加的数据中心的卡,没有独立的散热风,应该是这个原因,又折腾大半天吧散热风扇加上。再跑又正常了。 周五下班的时候,我还看了一眼,服务都正常运行的。周一来看,发现有k8s集群里面有个nvidia的服务一直在CrashLoopBackOff,查看日志是没有找到显卡驱动。在机器上去执行nv...
k8s deploy etcd
k8s deploy etcd123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869apiVersion: apps/v1kind: Deploymentmetadata: labels: app: etcd name: etcd namespace: middlewarespec: replicas: 1 selector: matchLabels: app: etcd template: metadata: labels: app: etcd spec: containers: - env: - name: ALLOW_NONE_AUTHENTICATION value: "yes" - nam...
docker部署mysql主从
docker部署mysql主从1.拉取镜像docker pull mysql:5.7 2.创建目录mkdir -p /opt/mysql/data mkdir -p /opt/mysql/log mkdir -p /opt/mysql/conf chmod 777 -R /opt/mysql/log 3.创建mysql配置文件vim /opt/mysql/conf/my.cnf 4.启动123456docker run -dit -p 3306:3306 -e TZ=Asia/Shanghai --privileged=true --name mysql_master -v /opt/mysql/conf/my.cnf:/etc/my.cnf -v /opt/mysql/data:/var/lib/mysql -v /opt/mysql/log:/var/log/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7docker run -dit -p 3306:3306 -e TZ=Asia/Shanghai --privi...
k8s部署nginx反向代理
k8s部署nginx反向代理 Dockerfile 123FROM harbor.querycap.com/rk-infra/nginx:1.17.9COPY nginx.conf /etc/nginx/conf.d/nginx.confRUN rm -f /etc/nginx/conf.d/default.conf nginx.conf 123456789server { listen 80; location / { proxy_pass http://111.53.209.167:20080; proxy_http_version 1.1; }} k8s-yml 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677--- apiVersion...
docker部署pgsql主从
docker部署pgsql主从docker部署pgsql主从,误打误撞搞出来了。 1、启动主库 12345678docker run -d -e POSTGRES_PASSWORD='123456Ein!' \ -e DEFAULT_ENCODING=UTF8 \ -e POSTGRES_DB=root \ -e POSTGRES_USER=root \ -e TZ="Asia/Shanghai" \ --name postgres_master \ -v /data/pgsql:/var/lib/postgresql/data \ -p 5432:5432 corray/postgis-11-mod 注意修改postgresql.auto.conf文件中的synchronous_commit = ‘on’,修改为synchronous_commit = ‘off’。需要先编辑主节点的pg_hba.conf文件,添加以下参数,ip修改为从节点ip: 1234...
centos7离线安装ansible
centos7离线安装ansible遇到一个离线环境,需要安装ansible来批量执行命令。网上大多数教程都是找一台系统一样且有网络的机器,下载依赖然后上传到离线环境安装,但是我这边没有有网络的相同系统版本的机器,找了半天,参考了tidb的历史部署文档,发现可以直接离线部署ansible。 tidb离线部署ansible文档https://docs-archive.pingcap.com/zh/tidb/v3.1/offline-deployment-using-ansible 安装依赖包在下载机上下载系统依赖离线安装包,然后上传至中控机。该离线包仅支持 CentOS 7 系统,包含 pip 及 sshpass。依赖离线安装包:https://download.pingcap.org/ansible-system-rpms.el7.tar.gz 在中控机上安装系统依赖包: 1234tar -xzvf ansible-system-rpms.el7.tar.gz &&cd ansible-system-rpms.el7 &&chmod u+x ins...
SonarQube in kubernetes
SonarQube in kubernetesSonarQube是一个开源的代码质量管理系统,可用来快速定位代码中的Bug、漏洞以及不优雅的代码。它支持几乎所有的常见编程语言,例如Java、JavaScript、TypeScript、Kotlin、Ruby、Go, Scala等。并且还有插件机制,利用插件,可以让SonarQube更加强大,例如可以整合Findbugs、PMD、Checkstyle等。可以说,SonarQube是一款提升项目代码质量必备的根据。 系统需求: k8s:1.13.5以上版本 pgsql 10及以上 docker-compose官方提供了docker-compose的文件,把data、log、extensions目录挂载到了本机目录,以便管理文件以及查看日志。 123456789101112131415161718192021222324#docker-compose.ymlversion: "3"services: sonarqube: image: sonarqube:lts-community #8.9.2 ...