linux和k8s和数据库笔记
发布时间:2025-05-21 20:43:33 发布人:远客网络
一、linux和k8s和数据库笔记
scp-r/home/gaoge.txt root@192.168.10.1:/opt或rsync-av/root/rpmpkgs/tmp/backups/
4、显示系统盘符并以树状格式展开。
echo"---">/sys/class/scsi-host/hosto/scan
7、将文件内容以每一行5个的形式展示出来。
8、用cut去实现awk切割列的效果
9、sed、grsp、awk。之前已经说过了、具体看从linux三剑客说起这篇。
10、增加一个oracle用户让其属于oinstall组同时也隶属于dba组。useradd oracle-g oinstall-G dba
11、新建立一个组groupnew并将组id修改为255。
12、将本地/dev/hdb整盘中的数据备份到/dev/hdd上。
cat/proc/cpuinfo| grep"physical id"| wc-l
14、查看服务器io状况并以每间隔1秒的速度输出5次。
15、查看服务器内存使用情况并以每间隔2秒的速度输出10次。
16、将gaoge.txt中的第一列db2找到并将db两个字符用ab替换。
cat gaoge.txt|grep db2| awk-F 2'{print$1}'| tr db ab
ctrl+z切换到后台、jobs显示id、fg+ id切换至前台。
ps-A-ostat,ppid,pid,cmd|grep-e'^[T]'
22、每月1到10号4:45重启nginx。
crontab-u root-l显示root当前的计划任务。
crontab-u root-e后输入以下内容并保存退出。
45 4 1,10** systemctl start nginx
23、awk打印df-h的第一列、第三列、最后一列。
df-h| awk'{print$1""$3""$NF}'
24、批量拉、打标签、推docker镜像的shell脚本。
for image in'docker images| grep 10.171.10.1:10000| awk'{ print$1":"$2}
version='echo$image| awk-F/'{ print$2}'
docker tag$image 192.168.10.1/$version
docker push 192.168.10.1/$version
将kubernetes中pod的数据拷贝到物理宿主机上。
kubectl cp gyl-run/gyl-mysql-01020304:/opt/docker.sh/opt
将kubernetes中物理宿主机上的数据拷贝到pod中。
kubectl cp/opt/docker.sh gyl-run/gyl-mysql-01020304:/opt
检查当前用户有没有权限在k8s中创建资源权限。
检查当前用户有没有权限在k8s集群中创建namespace权限。
kubectl auth can-i create pods--all-namespaces
show variables like‘%binlog_format%’
mysqlbinlog--base64--output=decode-rows-v--start-date="2019-01-25 00:00:00"--stop-date=“2019-01-26 17:30” master-bin.000006
/usr/bin/mysqlbinlog--no-default/var/lib/mysql/mysql-bin.00001| usr/bin/mysql-u root-p pwd test
数据库名-h主机地址-p端口(默认端口为5432)
pg_dump-U kong-d kong-f/opt/2019-01-26-pg.sql
psql-d kong-U kong-f/opt/2019-01-26-pg.sql
mongo批量更新数据:把age大于20的class name修改为,设置multi为true
二、如何入门k8s
1、Kubernetes(简称K8S)是Google开源的分布式的容器管理平台,方便我们在服务器集群中管理我们容器化应用。
2、节点(Master node and Worker node)
3、节点通常指的就是服务器,在k8s中有两种节点:管理节点(Master Node)和工作节点(Worker Node)
4、管理节点(Master Node):负责管理整个k8s集群,一般由3个管理节点组成HA的架构。
5、工作节点(Worker Node):主要负责运行容器。
6、k8s命名空间主要用于隔离集群资源、隔离容器等,为集群提供了一种虚拟隔离的策略;默认存在3个名字空间,分别是默认命名空间 default、系统命名空间 kube-system和 kube-public。
7、k8s对象(Object)是一种持久化存储并且用于表示集群状态的实体。k8s对象其实就是k8s自己的配置协议,总之我们可以通过定义一个object让k8s根据object定义执行一些部署任务、监控任务等等。
8、Pod是 Kubernetes部署应用或服务的最小的基本单位。一个Pod封装多个应用容器(也可以只有一个容器)、存储资源、一个独立的网络 IP以及管理控制容器运行方式的策略选项。
9、是一种控制器,负责监控和维护集群中pod的副本(replicas)数,确保pod的副本数是我们期望的样子。
10、表示对k8s集群的一次更新操作,是k8s集群中最常用的Object,主要用于部署应用。支持滚动升级。
11、是对应用的抽象,也是k8s中的基本操作单元,一个服务背后由多个pod支持,服务通过负载均衡策略将请求转发到容器中。
12、是一种网关服务,可以将k8s服务通过http协议暴露到外部。
13、无状态应用指的是应用在容器中运行时候不会在容器中持久化存储数据,应用容器可以随意创建、销毁;如果一个应用有多个容器实例,对于无状态应用,请求转发给任何一个容器实例都可以正确运行。例如:web应用
14、有状态应用指的是应用在容器中运行时候需要稳定的持久化存储、稳定的网络标识、固定的pod启动和停止次序。例如:mysql数据库
三、内网实现自动化k8s集群部署
1、内网环境下实现自动化Kubernetes集群部署,要求确保稳定性和高效性。首先,理解部署方式的选用至关重要,二进制方式部署Kubernetes集群,相较于Kubeadm的部署,虽然流程可能显得更繁琐,但能更深入地了解系统内部原理,方便后续维护。
2、部署前的准备环境需详尽规划,包括软件环境的配置,以及高可用架构的设计。在Kubernetes系统中,通过健康检查和重启策略实现Pod的自我修复能力,以及通过调度算法确保Pod在多个Node上均匀分布,以实现应用层的高可用性。然而,高可用性还需要考虑Etcd数据库和Kubernetes Master组件的冗余,确保系统稳定运行。
3、Master节点作为集群的控制中心,通过与工作节点上的Kubelet通信维持集群状态。为确保Master节点的高可用性,采用Nginx负载均衡器和Keepalived软件实现故障转移策略,以确保在主节点故障时,服务仍能正常运行。
4、部署步骤包括搭建内网环境,确保所有部署所需的资源在内网中可用。通过使用nexus作为代理,配置阿里云yum源,创建docker-ce和镜像仓库,准备依赖包和安装包仓库,以及上传所需的安装包和依赖包至仓库中。此外,修改配置参数以适应内网环境,包括克隆Kubernetes相关项目,修改inventory文件以及调整Ansible脚本中的镜像仓库地址。
5、自动化脚本和Jenkins的使用,通过定义AICLOUD_KUBESPRAY_DOCKER_IMAGE变量,实现镜像的拉取、推送,以适应内网部署需求。部署完成后,通过登陆机器检查集群状态,确保所有组件运行正常。
6、错误收集和清理集群是部署过程中的关键环节,确保在遇到问题时能及时定位并修复,同时,定期清理集群可以帮助系统保持高效运行。通过遵循上述步骤,内网环境下实现的Kubernetes集群部署将更加稳定、高效和易于维护。