运维开发 K8s 存储详解-包括pv、pvc、confmap、secret 一、基本存储 1 EmptyDir EmptyDir是最基础的Volume类型,一个EmptyDir就是Host上的一个空目录。 EmptyDir是在Pod被分配到Node时创建的,它的初始内容为空,并且无须指定宿主机上对应的目录文件,因为kubernetes会自动分配一个目录,当Pod销毁时, EmptyDir中的数据也会被永久删除。 EmptyDir用途如下: 临时空间,例如用于某些应用程序运…
运维开发 Centos 远程重装系统 人在广州,家里的服务器在湖南。如何重装系统? 由于家里的宽带申请了公网 ip,并且路由器上并非设置的端口映射,因为我觉得太麻烦,直接设置 DMZ 主机为我的服务器。 也就是说我把我的服务器暴露在了互联网上,非常容易受到攻击。 由于之前安全意识较差,中了一次病毒,我人又不在家里,所以想起了远程重装系统,在这里记录一下。 一、查询基本信息 # 查看 IP地址及网卡信息 [root@localhost …
运维开发 容器编排 Docker-compose 详解 Docker-Compose 的编排结构 Docker-Compose 将所管理的容器分为三层 工程(project):一个工程包含多个服务 服务(service):一个服务当中可包括多个容器实例 容器(container) Docker-Compose 运行目录下的所有文件(docker-compose.yml、extends文件 或 环境变量文件等)组成一个工程,若无特殊指定 工程名即为当前目…
运维开发 SSH 免密登录批量操作脚本-只需要在一台机器上执行 之前写过 SSH 实现内网机器无密码登录,这种方式可以实现免密登录,但是需要在每台终端上操作,确实有点麻烦。 后来想能否用脚本实现多台机器间免密登录,新增机器只需要修改文件,然后执行脚本。 后来找到一个脚本,我把脚本修改了部分内容,完整脚本如下: #!/bin/bash # ssh_batch.sh # set -x ########################################…
运维开发 Linux 离线安装 Docker 之前看群里很多同学,linux 操作系统使用在线方式安装 docker 都失败了,然后启动 docker 报错又看不懂是哪里的问题,我觉得可以尝试一下离线安装。Windows 安装 docker 的话,问题实在太多,这里暂且不提。 1.下载安装包 地址:https://download.docker.com/linux/static/stable/x86_64/ 建议选择比较新的版本,我这里下载的…
运维开发 Docker 清理容器、数据卷、镜像相关操作 零、查看 docker 占用 docker system df 结果: Images:所有镜像占用的空间,包括拉取下来的镜像,和本地构建的。 Containers:运行的容器占用的空间,表示每个容器的读写层的空间。 Local Volumes:容器挂载本地数据卷的空间。 Build Cache:镜像构建过程中产生的缓存空间(只有在使用 BuildKit 时才有,Docker 18.09 以后可用)…
运维开发 Docker 搭建云端开发环境 code-server 话不多说,先来看一个页面。 有没有很熟悉,就是 web 版本的 vscode。 有时候我会拉一些开源项目到本地跑一遍,但是对于 node 这种项目,一个项目可能下载的以来就有几百 m。虽然说硬盘也不贵,但是对于这种下载到本地实在不方便,也不想污染本地的环境。 所以把代码下载到虚拟机是一个不错的选择。但是由于虚拟机基本都是最小化安装,没有图形界面就不太方便修改代码。 code-server 可以很好…
运维开发 K8s 常用控制器详解 – ReplicationController:比较原始的pod控制器,已经被废弃,由ReplicaSet替代 – ReplicaSet:保证副本数量一直维持在期望值,并支持pod数量扩缩容,镜像版本升级 – Deployment:通过控制ReplicaSet来控制Pod,并支持滚动升级、回退版本 – Horizontal Pod Autoscaler:可以根据集群负载自动水平调整Pod的数量,实…
运维开发 Docker commit 镜像后数据丢失 一、发现问题 1、运行 tomcat docker run -d \ –name tomcat \ -p 9999:8080 \ -v /docker/tomcat/webapps:/usr/local/tomcat/webapps \ tomcat 2、在 webapps 添加内容 cd /docker/tomcat/webapps && mkdir H1 &&…
运维开发 Linux 设置定时任务 Linux 设置定时任务 1. 安装 crontab yum -y install crontabs 2. 开启 crontab 服务 service crond start service crond start #启动服务 service crond stop #关闭服务 service crond restart #重启服务 service crond reload #重新载入配置 # 查看…
运维开发 kubernetes 之 sealos 搭建高可用集群 kubernetes 之 sealos 搭建高可用集群 如图所示,kuernetes组件组件主要可分为APISERVICE、replication CrontrollerManger、Scheduler、ETCD、Kubelet、Kube_proxy等。部署高可用,实际就是这些组件的高可用。 由于ETCD使用raft算法,所以当部署多个master节点时,会自动组成高可用;CrontrollerM…
运维开发 Linux 系统内核升级 1、查看现有Linux系统版本 cat /proc/version 或 uname -a 2、升级系统内核 一般来说,只有从https://www.kernel.org/ 下载并编译安装的内核才是官方内核,可以看出目前的稳定版版本为5.17.1。 不过,大多数 Linux 发行版提供自行维护的内核,可以通过 yum 或 rpm 等包管理系统升级。 ELRepo是一个为Linux提供驱动程序和内核映…
运维开发 Docker-compose 相关命令详细教程 – 关于compose 应该怎么学 Docker-compose 详细教程 Docker-Compose 的编排结构 Docker-Compose 将所管理的容器分为三层 工程(project):一个工程包含多个服务 服务(service):一个服务当中可包括多个容器实例 容器(container) Docker-Compose 运行目录下的所有文件(docker-compose.yml、extends文件 或 环境变量文件等)组成…