欢迎光临
我们一直在努力
广告
广告
广告
广告
广告
广告
广告
广告
广告
广告

云服务器自动化运维教程:一步步指南 (云服务器自动重启)

云服务器自动化运维教程一步步指南云服务器自动重启)前言在当今快节奏的数字化世界中,保持云服务器的平稳运行至关重要。借助自动化运维,您可以简化繁琐的任务,提高效率并最大限度地减少停机时间。本教程将指导您一步步设置云服务器的自动重启功能。准备工作1. 云服务器确保您拥有一个运行中的云服务器。2. SSH客户端安装一个 SSH 客户端(如 PuTTY 或 Terminal),用于远程连接到您的服务器。3. 保存更改在进行任何更改之前,请务必备份您的服务器。第一步:创建执行脚本1. 使用 nano 编辑器创建脚本sudo nano /etc/init.d/auto-reboot2. 输入以下内容:!/bin/bash设置重启时间
REBOOT_TIME=”05:00″检查当前时间是否与重启时间一致
if [ “$(date +%H:%M)” == “$REBOOT_TIME” ]; then重启服务器reboot
fi3. 保存并退出脚本按下 `Ctrl` + `X`,然后按 `Y` 保存并退出。第二步:使脚本可执行sudo chmod +x /etc/init.d/auto-reboot第三步:添加脚本到系统启动项sudo update-rc.d auto-reboot defaults第四步:调整重启时间(可选)1. 使用 nano 编辑器打开脚本sudo nano /etc/init.d/auto-reboot2. 更改 `REBOOT_TIME` 变量将 `REBOOT_TIME` 更改为您希望服务器自动重启的时间(例如,”03:00″ 表示凌晨 3 点)。3. 保存并退出脚本第五步:测试脚本手动重启服务器以触发脚本:sudo reboot确认服务器在指定时间自动重启第六步:排除故障脚本未执行检查脚本是否可执行(`chmod +x /etc/init.d/auto-reboot`)。确认脚本已添加到系统启动项(`sudo update-rc.d auto-reboot defaults`)。脚本执行但未重启服务器检查脚本中的 `REBOOT_TIME` 变量是否正确设置。确认服务器在脚本指定的准确时间处于活动状态。其他故障排除提示查看服务器日志(`/var/log/syslog`)以获取更多信息。使用命令 `ps aux | grep auto-reboot` 检查脚本进程是否正在运行。重新启动执行脚本管理器:`sudo service sysv-rc-conf restart`。结论通过遵循本教程中的步骤,您已成功设置了云服务器的自动重启功能。这将简化维护,提高稳定性,并减少停机时间。随着自动化的不断进步,IT 运营团队将能够更加高效和高效地管理他们的基础设施。
云服务器自动化运维教程


k8s自动化运维十三-国产麒麟操作系统安装minikube

为了实现Kubernetes自动化运维,需要在国产麒麟操作系统中安装minikube,以下步骤将指导完成这一任务。

首先,需确认系统版本及内核版本,确保满足安装条件。

查看系统架构确认为华为鲲鹏服务器架构aarch64。

接着,需要修改hosts文件,以确保DNS解析正确。

同时,配置k8s镜像源,保证后续操作的顺利进行。

为了离线安装Docker,需先下载Docker安装包并进行安装,确保Docker服务在非root权限下运行。

编辑Docker的系统服务文件,设置为非root用户启动Docker服务。

重启Docker服务,然后通过root用户关闭Docker服务,使用非root用户启动服务,确保minikube与Docker服务协同工作。

安装minikube时,注意避免使用root权限,以确保minikube的正常运行。

了解minikube 1.22.0版本对应的镜像版本,可以通过查看源码得知版本号。

根据版本号,可以通过脚本下载对应的镜像文件,确保minikube运行所需的镜像正确。

修改配置文件/etc/docker/,删除与systemd不兼容的exec-opts配置,然后重启Docker服务确保配置生效。

最后,通过执行命令查看Docker镜像版本号,以及minikube的启动状态,确认整个安装过程的正确性和稳定性。

项目打包和自动化部署

在传统的开发模式中,开发的整个过程是按部就班就行。

但是这种模式存在很大的弊端:

DevOps是Development和Operations两个词的结合,将开发和运维结合起来的模式。

伴随着DevOps一起出现的两个词就是持续集成和持续交付(部署):

持续集成CI:

持续交付和持续部署:

云服务器我们可以有很多的选择:阿里云、腾讯云、华为云。

但是在我们的课程中,我选择目前使用更加广泛的阿里云来讲解。

我们需要注册阿里云账号:,注册即可,非常简单。

购买云服务器其实是购买一个实例。

Jenkins本身是依赖Java的,所以我们需要先安装Java环境。这里我安装了Java1.8的环境

因为Jenkins本身是没有在dnf的软件仓库包中的,所以我们需要连接Jenkins仓库:

编辑一下文件/etc/.d/

安装Jenkins

启动Jenkins的服务:

Jenkins默认使用8080端口提供服务,所以需要加入到安全组中:

我们后面会访问centos中的某些文件夹,默认Jenkins使用的用户是jenkins ,可能会没有访问权限,所以我们需要修改一下它的用户:

修改文件的路径: /etc/sysconfig/jenkins

之后需要重启一下Jenkins:

打开浏览器,输入:获取输入管理员密码:

可以安装推荐的插件:

新建任务:

配置项目和保留策略:

源码管理:

构建触发器:

这里的触发器规则是这样的:

构建环境:

注意:我们需要搭建Node的环境

第一步:配置Node的环境

第二步:安装Node的插件

构建执行的任务:

后续我们部署会使用nginx,所以需要先安装一下nginx:

启动nginx:

我们这里主要配置nginx的用户和默认访问目录:

配置用户:

通过Linux命令创建文件夹和文件:

配置访问目录:

「自动化运维」从0到1 CICD自动化部署落地分享

目录

一、CICD简介

二、CICD实践过程

三、含泪踩坑

四、 历史 文章指路

一、CICD简介

1、CICD定义

2、DevOps定义

DevOps(Development和Operations的组合词)是一组过程、方法与系统的统称,用于促进开发(应用程序/软件工程)、技术运营和质量保障(QA)部门之间的沟通、协作与整合。

DevOps的基础核心是CICD。

CICD的基础核心是自动化。

二、CICD实践过程

1、起因

在我之前的团队,因为要切换全新业务线,需要为新业务搭建一套全新的环境,所有东西从0开始。

原先只是用于部署测试环境,后面决定一起部署生产环境,这个过程中我还造成了一个严重生产环境问题,好在当时的生产环境还未正式使用,未造成严重影响。

在当时挺害怕也挺有压力的,但是后面项目完整落地,平稳运行,我还是挺有成就感的,接下来我将整个项目过程完整的分享出来。

2、技术栈选型

首先进行技术栈选型,我们选择的是Jenkins,Jenkins当属业内持续集成老大哥,有着非常丰富的插件,也可以选择gitlab集成的CICD,因为我们还有其它的测试脚本需要集成,所以Jenkins对于我们来说是最优的选择;

Ansible是批量运维工具,通过编写yaml脚本,可以方便实现批量管理多台机器,并且Ansible是比较轻量级应用,很容易上手;

shell脚本可以用于执行一系列命令。

其它的就结合团队项目情况进行搭建。

3、Jenkins应用部署实现流程

首先来梳理下整个项目的实现流程,主要分为Jenkins主节点和应用服务器,是一对多的关系。

Jenkins主节点的主要负责项目部署前的工作,主要包含拉取代码,前端打包,后端打包,快照版检测,将压缩包和部署脚本发送到目标机器(即应用服务器),远程调用目标机器上的部署脚本进行代码替换。

应用服务器部署脚本执行过程有:解压压缩包,停止服务,覆盖代码,拉取disconf,应用目录分组赋权,重启服务,检查服务是否有进程,查看启动日志,删除/tmp目录下旧压缩包。

Jenkins应用部署流程图

4、任务计划

4.1、搭建环境

指路【Jenkins系列】如何搭建Jenkins环境。

因为这个我没有实践成功的教程,所以在这里就不贴啦~

2、编写前置脚本

3、编写应用部署脚本

4、Jenkins配置

指路【Jenkins系列】如何构建Jenkins Job。

新增Job,主要用于拉取代码,执行Maven编译,执行app_,将压缩包通过ssh发送到目标机器,远程调用目标机器的。

三、含泪踩坑

踩坑1

问题描述:在错误的路径拉取配置,原因是未成功解压压缩包。

解决方案:校验压缩包是否解压成功解压成功,并且在cd到正确的路径后添加&&(&&表示上一条命令执行成功再执行下一条命令)才进行拉取配置。

踩坑2

问题描述:项目没有正常停止,导致无法重新启动。

解决方案:虽然执行kill -9,但是未找到根本原因,因此加了一个检测机制,如果检测没有正常停止服务,则退出程序。

踩坑3

问题描述:生产部署脚本拉取了开发环境的的jdbc配置,原因是生产部署脚本写错了开发环境disconf的域名,当时我同时在搞开发生产环境的脚本,开发和生产是两套不同的脚本,一时混乱写错了,吓得一批,好在当时生产环境还没投产使用。

解决方案:为了避免后续这种情况的发生,而且是必须避免的,我们通过环境名称来判断走开发还是生产域名,这样就能保证脚本一致性了。

在这个项目实际遇到的问题远不止上面这几个,在这个实践过程中,我对整个应用部署流程有了更深的理解,平时方方面面的学习终于集中化起来进行实践了。

我习惯将学到的知识和遇到的问题记录起来,在写这篇文章的过程回过头来看,五味杂陈,原来我都经历了这些哈哈哈……

踩过的坑终究使我更加强大,带你见证呱呱本呱成长为参天大呱~

搞测试,不迷路

呱呱大王本呱带你飞!

赞(0)
未经允许不得转载:优乐评测网 » 云服务器自动化运维教程:一步步指南 (云服务器自动重启)

优乐评测网 找服务器 更专业 更方便 更快捷!

专注IDC行业资源共享发布,给大家带来方便快捷的资源查找平台!

联系我们