1、rabbitmq清理队列
RabbitMQ清理队列的时候会连同虚拟主机、用户信息、队列策略一起删除,这时要重新设置虚拟主机及用户信息等,操作命令如下:
在三个节点执行以下命令:
rabbitmqctl stop_app
rabbitmqctl reset
在第一个节点执行:
rabbitmqctl start_app
在后两个节点执行:
rabbitmqctl join_cluster rabbit@dbuat2-redismq-lv01
rabbitmqctl start_app
在第一个节点执行:
rabbitmqctl add_user uatuser uatuser123
rabbitmqctl add_vhost /fintech_uat
rabbitmqctl set_permissions -p /fintech_uat uatusr "." ".*" ".*"
rabbitmqctl set_user_tags uatuser monitoring
rabbitmqctl set_policy ha-all-queue "^ha\." '{"ha-mode":"all","ha-sync-mode":"automatic"}'
查看信息:
rabbitmqctl list_vhosts
rabbitmqctl list_users
rabbitmqctl list_user_permissions uatuser
rabbitmqctl list_policies --vhost /fintech_uat
2、redis清理数据
redis 127.0.0.1:6379> FLUSHALL
3、数据库
导出数据库表结构
mysqldump -uroot -p --set-gtid-purged=OFF -d db_activiti > db_activiti.dump
mysqldump -uroot -p --set-gtid-purged=OFF -d db_boa > db_boa.dump
mysqldump -uroot -p --set-gtid-purged=OFF -d db_content > db_content.dump
mysqldump -uroot -p --set-gtid-purged=OFF -d db_customer > db_customer.dump
mysqldump -uroot -p --set-gtid-purged=OFF -d db_message > db_message.dump
mysqldump -uroot -p --set-gtid-purged=OFF -d db_product > db_product.dump
mysqldump -uroot -p --set-gtid-purged=OFF -d db_risk > db_risk.dump
mysqldump -uroot -p --set-gtid-purged=OFF -d db_rule > db_rule.dump
mysqldump -uroot -p --set-gtid-purged=OFF -d db_trade_finance > db_trade_finance.dump
mysqldump -uroot -p --set-gtid-purged=OFF -d db_work_order > db_work_order.dump
mysqldump -uroot -p --set-gtid-purged=OFF -d db_xxl_job > db_xxl_job.dump
导出现有表结构+数据
mysqldump -uroot -p --set-gtid-purged=OFF db_activiti > db_activiti.dump
mysqldump -uroot -p --set-gtid-purged=OFF db_boa > db_boa.dump
mysqldump -uroot -p --set-gtid-purged=OFF db_content > db_content.dump
mysqldump -uroot -p --set-gtid-purged=OFF db_customer > db_customer.dump
mysqldump -uroot -p --set-gtid-purged=OFF db_message > db_message.dump
mysqldump -uroot -p --set-gtid-purged=OFF db_product > db_product.dump
mysqldump -uroot -p --set-g
Kubernetes kubectl常用命令
1. 查看资源对象
常用查看资源对象(<rc>)有namespace(ns) pods service(svc) endpoints(ep) deployment(deploy) pvc ingresses(ing),括号内为最简写法。
kubectl get <rc>
显示更多信息,在后面接-o wide、-ojson或者-o yaml,同时查看多个资源对象用英文逗号隔开。
查看资源对象全名,可通过kubectl rc,<rc>
2. 创建资源对象
创建时,注意文件内是否有namespace,如果没有,请在命令后面指定-n <namespace-name>。
根据yaml配置文件一次性创建资源对象
kubectl create -f service.yaml -f deployment.yaml
根据<directory>目录下所有.yaml、.yml、.json文件的定义进行创建操作
kubectl create -f <directory>
对资源进行配置,最常用功能。
kubectl apply -f service.yaml
kubectl apply -f <directory>
3. 编辑资源对象
编辑资源对象时,编辑器为vi,需要熟悉vi命令操作。
kubectl edit deploy <deployment-name>
如果平常是使用yaml文件维护,注意下次修改时的配置。
4. 描述资源对象
显示service的详细信息
kubectl describe svc <service-name>
显示pod的详细信息,其中显示的pod启动过程事件可以帮助排错。
kubectl describe pods/<pod-name>
5. 删除资源对象
类似create命令用法
基于deployment.yaml定义的名称删除deployment
kubectl delete -f deployment.yaml
根据<directory>目录下所有.yaml、.yml、.json文件的定义进行创建删除
kubectl delete -f <directory>
删除所有包含某个label的pod和service
kubectl delete pods,svc -l name=<label-name>
6. 执行容器的命令
执行pod的ls命令,默认是用pod中的第一个容器执行
kubectl exec -it <pod-name> -- ls
指定pod中某个容器执行ls命令
kubectl exec <pod-name> -c <container-name> ls
登录容器(容器中命令存在时)
kubectl exec -it <pod-name> /bin/sh
kubectl exec -it <pod-name> /bin/bash
7. 查看容器日志
查看容器的全部日志。pod中有多个容器时需要指定容器名
kubectl logs <pod-name> [<container-name>]
类似tail -f实时输出日志
kubectl logs -f <pod-name> [--tail=1]
查看最近多少时间以来日志,并实时输出,适用于日志较多,运行较久的pod
kubectl logs -f <pod-name> --since 10m
一般配合kubectl describe pods/<pod-name>进行排错。
8. pod的扩容与缩容
执行扩容缩容pod的操作,支持的资源对象有deployment statefulset daemonset
kubectl scale deploy <deployment-name> --replicas=2
扩容与缩容是相对于当前的replicas数。如果平常是使用yaml文件维护,注意下次修改时的配置。
9. pod的滚动升级
执行滚动升级操作
kubectl rolling-update <deployment-name> -f deployment.yaml
可以使用kubeclt rolling-update <deployment-name> --image=example:v2.0直接指定镜像名称的方式直接升级。
还可以使用kubectl edit命令达到滚动升级目的。如果平常是使用yaml文件维护,注意下次修改时的配置。
10. 端口转发
在集群节点外面连接集群,避免大量端口管理,可以作为开发调试常用功能。当前v1.12版本还未支持tcp keepalived连接,因此连接不活动容易中断。
kubectl port-forward svc/<service-name> 本机端口:服务端口 …
11. 拷贝文件或目录
注意windows和linux目录斜杆差别
kubectl cp /local_path/filename <namespace>/<pod-name>:/container_path/
kubectl cp <namespace>/<pod-name>:/container_path/filename /local_path/
其它技巧:
https://jimmysong.io/kubernetes-handbook/guide/kubectl-cheatsheet.html