RabbitMQ、Redis数据重置、MySQL数据重置与备份、Kubernetes kubectl常用命令

本文介绍了RabbitMQ的队列清理步骤,包括停用应用、重置、重新设置用户和权限以及策略。同时,提到了Redis的数据清理通过`FLUSHALL`命令实现。在数据库方面,展示了如何导出MySQL的表结构。最后,概述了Kuberneteskubectl命令的常用操作,如查看、创建、编辑、删除资源对象,以及执行容器命令、查看日志、滚动升级等。
摘要由CSDN通过智能技术生成
    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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值