运维规划2018-2024

来自linux中国网wiki
跳到导航 跳到搜索

站内相关

职业规划

Learn list学习列表

Python笔记2019-2021

运维 (英文:Ops),又称运维工程师,是对技术类运营维护人员的统称。运维人员的职责是根据业务需要规划信息、网络、服务,通过网络监控、事件预警、业务调度、排障升级等手段,使服务处于长期稳定可用状态。

2022

Booklist 要看的书

面试

运维开发Devops

运维怎么才能面试上运维开发的工作

请见 Devops


DevOps 之旅:运维人员如何开始学习源代码?

terraform

功能:terraform 用于各类基础设施资源初始化,支持多种云平台,支持第三方服务对接

Terraform aliyun

cmdb

Cmdb

Base Admin一套简单通用的后台管理系统

搞在xk intra 然后 frp到外面

前聚美优品运维负责人谈CMDB

CMDB和运维自动化

(深度好文)重构CMDB,避免运维之耻

开源CMDB

ansible

Ansible基础

自动化运维项目之jenkins pipline+ansible playbook


吃透Ansible:核心源码剖析与项目实战


https://github.com/ansible/ansible-examples

jenkins (include library)

Jenkins shared library 共享库示例

jenkins+docker实现自动编译、打包、构建镜像、容器部署


项目二 Jenkins+Docker自动打包镜像到私有仓库

Docker + Jenkins 实现持续集成持续部署

https://www.jenkins.io/doc/book/pipeline/development/


https://plugins.jenkins.io/workflow-cps/


jenkins+nexus+gitlab+docker+k8s配置项目

简历

Linux运维工程师简历项目经验

大龄运维

go ,cmdb, js devops

https://www.v2ex.com/t/598440?__cf_chl_jschl_tk__=4fd0e10bc1ee83eb05176806d9433076e1fa08e8-1597039021-0-Af0TkNavo215SSTNLsdKOV9tqmTbckqd9aV_DrcqROga2l0U_TbpmLo5RYrY1VFEtsDNtYp82uGAiF9rOj-5LQw_8R9ic8SMnnk-lvBz1VxXZnlc4af3Qr6KC5Rqe9v1nX3W3hmXhO6NtxE8dgXbs13Wo5-xE5wgt5At15GuUC8UDd6v0W2w6eGdw9VBxks5jXlk-nZ2sc9xycmrjEwl6l4HZYVEvLnNdBRJpV9Aa6LG8T7qnoAvGeT-eQYqbUN0b7T6fRXFkjxqNbTOgOLm_xuL7sou1BKNe9zd1kNNfFtgcoKekkuwYNFcMP9ve9PTKRddmq1E5ELO8PzFSOZWMB8


什么是运维?运维工程师这个职位有多重要?

k8s

K8s基础

Kuboard基础

Kubernetes ingress基础

lnmp on k8s

搞个国内的吧 debian 主要就是这下面三个站内资源

Kubernetes 镜像 aliyun


Install and Configure Kubernetes (k8s) on debian10


使用kubeadm离线部署kubernetesv1.9.0 on centos7


2018k8s


kubernetes安装(国内环境)


国内环境安装k8s


国内k8s集群部署的几种方式 部署方式

目前我所了解有以下几种方式:

    使用kubeadmin通过离线镜像的方式,网上教程和镜像包挺多的

    通过厂商集成的方式如:rancher
    这里推荐一篇blog:CentOS7环境安装Kubernetes四部曲https://blog.csdn.net/boling_cavalry/article/details/79613037

    直接使用类似阿里云这样的公有云平台k8s 。只要有钱,一键搞定 : )

    通过yum官方仓库安装,需要启用extras仓库。
    不过里面版本都比较老,目前最新的也只是1.5.2版本,对于想学新的东西,比如k8s角色管理、helm等来说不太方便,因此也不建议使用。

    通过二进制包的形式进行安装,这里推荐一个repo:kubeasz https://github.com/gjmzj/kubeasz
    里面文档也很丰富清晰,对于初学者来说很有帮助。 

原文链接:https://blog.csdn.net/lusyoe/article/details/80217291

服务器费用

自动续费 ?

运维自动化

小团队如何从零搭建一个自动化运维体系

如何做好自动化运维?自动化运维必备技能有哪些

python 自动化

请见 Devops

Spug是面向中小型企业设计的轻量级无Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能

Spug是面向中小型企业设计的轻量级无Agent的自动化运维平台

利用python实现批量自动化运维脚本案例

早下班时回家记得看书和动手例子

。我平时的工作不仅会用到python和shell,而且还会用到js和golang和c++。使用场景如下:1.shell:日常工具脚本编写,不多说2.python,js:技术栈为vue.js+django的运营系统开发和维护,好处是开发效率高。3.golang,c艹:与业务系统有交互的运营模块开发和维护,以及较在意执行效率的工作,如机器管控平台,agent诸如此类,主要是为了和业务系统的rpc协议兼容,所以用业务系统的框架开发偏运维类的系统

作者:运维不LOW 链接:https://www.zhihu.com/question/399160308/answer/1263092889 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

我之前管理主机资产信息都是用的wiki或者是excel. 每次添加或下线机器 都需要主动的去手动修改.我觉得太麻烦了, 参考过市面上的一些cmdb产品,比如腾讯的蓝鲸等等 ,都觉得有不满意的地方.所以想自己搞一个非常简单的CMDB系统. 只需要实现 能自动获取现有接入salt管理的主机就可以了.salt有现成的pythonAPI, 我需要做的就是用python 写个脚本,来获取想要的主机信息 ,然后存入数据库,再用django+vue实现展示和管理就行了, 这就是python实际应用的一个例子.其实python的用处还有很多的. 还有阿里云oss ,ecs都有现成的pythonAPI,python用熟了以后,有写脚本写起来确实要比shell得劲.


链接:https://www.zhihu.com/question/399160308/answer/1263538144

Python 的练手项目有哪些值得推荐

Yearning SQL 审核平台

Yearning SQL 审核平台

监控

zabbix

Zabbix报警

action_email 还有报警前执行脚本

email 报警 短信报警 wechat 报警

zabbix new server docker 化 服务器监控(包括性能指标与web应用程序)

pinpoint

Nightingale

nightingale-didi

Open-Falcon 是小米运维团队开源的企业级监控解决方案,在国内广泛使用。

Nightingale 采用 Apache-2.0 开源协议,Copyright © 滴滴 2020

python

python常用运维脚本实例


python用于系统运维管理和灰度发布部署

基于python的一个运维自动化的项目(进度更新)【已开源】

django

Gunicorn

ruby

Learn ruby

safe

fail2ban阻止SSH暴力破解

清空/etc/issue,去除系统及内核版本登录前的屏幕显示

safe dns

http://www.freenom.world/zh/index.html?lang=zh

Freenom是世界上第一个也是唯一的免费域名提供商。 我们的使命是把互联网带给世界人民,帮助各国发展自己的数字经济。

通过打破壁垒、整合免费域名与最新网站建设和托管技术,Freenom让企业或个人建立网站和管理内容很容易,没有任何成本。

docker k8s

工单

基于Gin + Vue + Element UI前后端分离的工单系统

intra

内网穿透打洞

内网穿透打洞

内网环境

oracle 17

nginx other 11

frp

但是没有开机自启动呢

apps

7.1redis

公司的redis要 HA

redis架构演变与redis-cluster群集读写方案

7.2 nginx

redis lua+ cc Nginx Lua Redis防止CC攻击

7.3 mysql

mysql gpt

7.4 dns

Linux运维实战之DNS基础

7.5 CI jenkins

备份

关键文件备份

passwd etc

更新

包 mysql 文件 这个尽量做成自动化 接下何焱的活

db备份

2020

english

redis

wiki上相关的可以看看先

Redis运维

lua

Lua基础

golang

Zookeeper

https://www.jianshu.com/u/3829416c7065

see also

运维超级好用工具大PK


tomcat

Linux运维 第三阶段 (十九) tomcat

通向架构师的道路(第四天)之Tomcat性能调优

Tomcat性能调优-JVM监控与调优

Tomcat配置与优化(内存、并发、管理)


Tomcat和JVM的性能调优总结

Tomcat 生产服务器性能优化 【已翻译100%】

监控Tomcat解决方案(监控应用服务器系列文章)

tomcat优化

TOMCAT内存大小调整

Tomcat内存设置详解

Tomcat配置与优化(内存、并发、管理)

通向架构师的道路(第四天)之Tomcat性能调优-让小猫飞奔

tomcat 启动脚本

#!/bin/bash
#cat /etc/init.d/pp-col  在centos7上试过 可运行
# chkconfig: 345 99 28
# description: Starts/Stops Apache Tomcat

#by evan
#修改几个目录 
##export JAVA_HOME=/usr/java/jdk1.8.0_121/
#sed -i "s/JAVA_HOME=\/usr\/java\/default\//JAVA_HOME=\/usr\/java\/jdk1.8.0_121\//g" pp-collector.init
#sed -i "s/CATALINA_HOME=\/data\/service\/pinpoint-collector\//CATALINA_HOME=\/data\/pp-col\//g" pp-collector.init
#sed -i "s/CATALINA_BASE=\/data\/service\/pinpoint-collector\//CATALINA_BASE=\/data\/pp-col\//g" pp-collector.init
#by evan

# Tomcat  start/stop/status script
# Forked from: https://gist.github.com/valotas/1000094
# @author: Miglen Evlogiev <[email protected]>
#
# Release updates:
# Updated method for gathering pid of the current proccess
# Added usage of CATALINA_BASE
# Added coloring and additional status
# Added check for existence of the tomcat user
#
 
#Location of JAVA_HOME (bin files)
export JAVA_HOME=/usr/java/jdk1.8.0_121/
 
#Add Java binary files to PATH
export PATH=$JAVA_HOME/bin:$PATH
 
#CATALINA_HOME is the location of the bin files of Tomcat  
export CATALINA_HOME=/data/pp-col/
 
#CATALINA_BASE is the location of the configuration files of this instance of Tomcat
export CATALINA_BASE=/data/pp-col/
 
#TOMCAT_USER is the default user of tomcat
export TOMCAT_USER=root
 
#TOMCAT_USAGE is the message if this script is called without any options
TOMCAT_USAGE="Usage: $0 {\e[00;32mstart\e[00m|\e[00;31mstop\e[00m|\e[00;32mstatus\e[00m|\e[00;31mrestart\e[00m}"
 
#SHUTDOWN_WAIT is wait time in seconds for java proccess to stop
SHUTDOWN_WAIT=3
 
tomcat_pid() {
        echo `ps -fe | grep $CATALINA_BASE | grep -v grep | tr -s " "|cut -d" " -f2`
}
 
start() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo -e "\e[00;31mTomcat is already running (pid: $pid)\e[00m"
  else
    # Start tomcat
    echo -e "\e[00;32mStarting tomcat\e[00m"
    #ulimit -n 100000
    #umask 007
    #/bin/su -p -s /bin/sh tomcat
        if [ `user_exists $TOMCAT_USER` = "1" ]
        then
                su $TOMCAT_USER -c $CATALINA_HOME/bin/startup.sh
        else
                sh $CATALINA_HOME/bin/startup.sh
        fi
        status
  fi
  return 0
}
 
status(){
          pid=$(tomcat_pid)
          if [ -n "$pid" ]; then echo -e "\e[00;32mTomcat is running with pid: $pid\e[00m"
          else echo -e "\e[00;31mTomcat is not running\e[00m"
          fi
}
 
stop() {
  pid=$(tomcat_pid)
  if [ -n "$pid" ]
  then
    echo -e "\e[00;31mStoping Tomcat\e[00m"
    #/bin/su -p -s /bin/sh tomcat
        sh $CATALINA_HOME/bin/shutdown.sh
 
    let kwait=$SHUTDOWN_WAIT
    count=0;
    until [ `ps -p $pid | grep -c $pid` = '0' ] || [ $count -gt $kwait ]
    do
      echo -n -e "\n\e[00;31mwaiting for processes to exit\e[00m";
      sleep 1
      let count=$count+1;
    done
 
    if [ $count -gt $kwait ]; then
      echo -n -e "\n\e[00;31mkilling processes which didn't stop after $SHUTDOWN_WAIT seconds\e[00m"
      kill -9 $pid
    fi
  else
    echo -e "\e[00;31mTomcat is not running\e[00m"
  fi
 
  return 0
}
 
user_exists(){
        if id -u $1 >/dev/null 2>&1; then
        echo "1"
        else
                echo "0"
        fi
}
 
case $1 in
 
        start)
          start
        ;;
       
        stop)  
          stop
        ;;
       
        restart)
          stop
          start
        ;;
       
        status)
                status
               
        ;;
       
        *)
                echo -e $TOMCAT_USAGE
        ;;
esac    
exit 0

[root@node2 tomcat]# vim /etc/init.d/tomcat(tomcat启动脚本)

------------script start--------------

#!/bin/sh

# Tomcat init script for Linux.

#

# chkconfig: 2345 96 14

# description: The Apache Tomcatservlet/JSP container.

export JAVA_HOME=/usr/java/latest

export CATALINA_HOME=/usr/local/tomcat

exec $CATALINA_HOME/bin/catalina.sh $*

--------------script end---------------

[root@node2 tomcat]# chmod +x !$

chmod +x /etc/init.d/tomcat

[root@node2 tomcat]# chkconfig --add tomcat

[root@node2 tomcat]# chkconfig tomcat on

[root@node2 tomcat]# chkconfig --list tomcat

tomcat            0:关闭      1:关闭      2:启用      3:启用      4:启用      5:启用      6:关闭

[root@node2 tomcat]# service tomcat stop

……

[root@node2 tomcat]# service tomcat start

on

  1. 内网开发环境
  2. jenkins 自动化更新 (dev test)
  3. zabbix 报警
  4. pinpoint
  5. 有序列表项
  6. 有序列表项
  7. 有序列表项