Ubuntu18.04【Lsyncd】文件实时同步
描述
Lsyncd是Rsync + ssh是一种高级操作配置,它使用SSH来操作文件和目录,直接在目标上移动,而不是通过线路重新传输移动目.可以最快的速度去让目标主机做到同步功能
环境
nginx1: 10.0.0.87
nginx2: 10.0.0.88
安装使用aliyun的源即可apt安装
apt-get install lsyncd
apt install rsync
查看安装的版本
root@k8s-etcd1:/etc/nginx# lsyncd --version
Version: 2.1.6
创建必要文件夹mkdir /etc/lsyncd #ubuntu需要手动创建配置文件定义
mkdir /var/log/lsyncd
touch /var/log/lsyncd/lsyncd.{log,status}
配置免密登陆ssh-keygen -t rsa
ssh-copy-id root@10.0.0.88
ssh root@10.0.0.88 (无需密码即可登陆)
编辑配置文件cd /etc/lsyncd/
vim lsyncd_ngin ...
三、k8s安装DNS以及dashboad
k8s有一个很重要的服务特性(服务发现)。一个service被创建,那么这个service的IP和port都可以注入pod使用。Kubernetes主要支持两种service发现机制:环境变量和DNS。没有dns服务的时候,kubernetes会采用环境变量的形式,一旦有很多个service,环境变量会变得很复杂,为了解决这个问题,我们使用DNS服务。
root@k8s-master1:/etc/kubeasz# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
net-test1 1/1 Running 0 6d22h 10.200.218.1 10.0.0.48 <none> <none>
net-test2 1/1 Running 0 6d2 ...
二、k8s集群维护(升级,添加,删除)
k8s版本升级
温馨提示 : k8s升级一定要测试环境测试好,最好不要跨大版本,而且需要停止服务 首先进入官网找到需要下载的版本
https://github.com/kubernetes/kubernetes/releases
下面是我们需要升级的版本 1.21.4,需要把安装包down下来,选择amd.tar.gz 下载好之后上传至部署节点
https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG/CHANGELOG-1.21.md#downloads-for-v1214
上传安装包
root@k8s-master1:~# cd /usr/local/src/
root@k8s-master1:/usr/local/src# ls
kubernetes-v1.21.4-client-linux-amd64.tar.gz
kubernetes-v1.21.4-node-linux-amd64.tar.gz
kubernetes-v1.21.4-server-linux-amd64.tar.gz
kubern ...
一、k8s集群使用kubeasz安装
安装方式介绍
目前创建K8S集群的安装程序最受欢迎的有Kops,Kubespray,kubeadm,rancher,以及提供的脚本集等。
网页快捷安装推荐使用 rancher
ansible 脚本学习安装 推荐使用 kubeasz (这里我用的是ubuntu-1804)
高可用集群所需节点配置如下
master:三台(实验环境和etcd部署在同一台服务器上)
ectd :三台 (生产环境建议分开)
haproxy结合keepalived:一台(高可用方案可以做两台主从)
harbor:一台 (高可用方案可以做两台主从)
首先所有主机名添加解析,修改主机名(k8s中主机名必须是不同的)
root@ubuntu1804:# hostnamectl set-hostname k8s-master1.example.comroot@ubuntu1804:# hostnamectl set-hostname k8s-node1.example.comroot@ubuntu1804:~# hostnamectl set-hostname k8s-harbor1.example.comecho ...
Linux使用Trojan代理配置
此教程使用的是 Centos7 x86_64系统,ubuntu 1804 系统都可使用
开启Trojan客户端代理服务
使用此命令下载Trojan客户端官方版本(GitHub):
1cd /usr/src && wget https://github.com/trojan-gfw/trojan/releases/download/v1.15.1/trojan-1.15.1-linux-amd64.tar.xz
解压Trojan文件
1tar xvf trojan-1.15.1-linux-amd64.tar.xz
打开配置文件
1cd /usr/src/trojan
vim config.json
按i进入编辑模式,可以全部删除,复制我已经写好的
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051[root@localhost trojan]# cat config.json{"run_type": ...
ELK集群搭建(ubuntu)
什么是 ELK (Elastic SYACK)?
elk 是三个开源软件组成的一个组合体,是elastic公司研发的一套完成的日志收集分析和展示的企业级解决方案。每个软件用于完成不同的功能。它具有很强的数据搜索功能,每次查询都是实时查询,当然elasticsearch也是最占用服务器资源的搜索引擎,所以生产环境服务器配置要好些ELK 又称为 ELK stack,官方域名为 elastic.co
E代表 elasticsearch ,L 代表(logstash),K 代表(kibana),用户开始用于日志搜索,并且希望可以对日志进行可视化。所以引用了强大的采集管道(Logstash)和灵活的可视化工具Kibana”下面会讲解三个组件的关系
elasticsearch简介
支持全文搜索、当日志收集到es之后就可以按照业务名称去创建index(索引),然后我们就可以进行全文搜索,而且速度很快,会直接返回结果
拥有强大的API功能支持json数据,可以大规模收集日志数据,比如Nginx,Tomcat等等。而且还会把搜索名称进行拆分 - 如淘宝搜索一件商品只需要搜索关键字就可以弹出
另 ...
linux磁盘在线扩容
ext4文件系统扩容先在新服务器上面扫描磁盘,不然无法显示新的磁盘,下面是两种扫描方式,选任意一种就可以
12345678910#方法1for i in {1..9};do echo "- - -" > /sys/class/scsi_host/host$i/scan;done#方法2,下载sg3-utils,然后执行rescan-scsi-bus.sh -a 就可以扫描本机所有磁盘apt install sg3-utilsrescan-scsi-bus.sh -a这个时候就可以查看宿主机磁盘是否添加成功,可以看到sda总容量是500Groot@cootekubuntu:~# fdisk -l 'grep /dev/sdDisk /dev/sda: 500 GiB, 53687091200 bytes, 104857600 sectors/dev/sda1 2048 4095 2048 1M BIOS boot/dev/sda2 4096 20975615 20971520 10G Linux fil ...
ssh使用私钥文件去做免密认证
批量添加密钥关于公司连接服务器这块儿做的比较严谨,每次登录都需要指定私钥文件连接ssh -i "aws2lin27.pem" ubuntu@ec2-34-216-139-32.us-west-2.compute.amazonaws.com这样连接,登录起来非常麻烦 ,后来就想到做免密认证后期使用ansible批量部署就非常简单下面是写的脚本,大概逻辑是先需要把所有需要认证的服务器pem 私钥文件拷贝到本机想做免密的服务器,然后批量把自己的私钥拷贝到对方指定用户里,这样就实现不输入密码登录
12345678910111213141516[root@localhost pem]# cat fix_pem.sh #/bin/bashec_num=`cat aws.list ' wc -l`for i in `seq 1 $ec_num`;do key_path=`cat aws.list ' awk '{print $2}' 'sed -n "$i"p` aws_ip=`c ...
Jumpserver使用docker部署
Jumpserver 是一款使用Python, Django 开发的开源跳板机系统, 为互联网企业提供了认证,授权,审计,自动化运维等功能。我们称为跳板机(在web界面操作),类似于VPN,但是jumpserver是七层代理 VPN是四层代理,对于开发和测试我们会让他们使用jumpserver(访问nginx,mysql等服务,一般都是在浏览器上操作) jumpserver分为开源和商业两个版本,提供了认识,授权。商业堡垒机安全机制会相对高一些(可以手机收验证码,或者U顿插入才可以登录)
主要功能 :需要通过这台机器跳到不同的机器
1 记录所有操作会进行录像,以及可以看到谁在登录
2 对于危险的命令可以禁止执行 如:rm 、reboot 等等
3 支持登录认证,LDAP认证,多因子认证。
4 可以针对不同的用户给予不同的权限,可以进行资产分配,指定用户访问指定的服务器
5 账号管理:集中账号管理,统一密码管理、`
官方地址:http://www.jumpserver.org/
Docker 就不介绍安装了,直接步入正题
使用Docker安装数据库root@jumpserver:~# ...
Centos和Ubuntu最小化安装命令
Centos 最小化安装命令1234yum install vim iotop bc gcc gcc-c++ glibc glibc-devel pcre \pcre-devel openssl openssl-devel zip unzip zlib-devel net-tools \lrzsz tree ntpdate telnet lsof tcpdump wget libevent libevent-devel \bc systemd-devel bash-completion traceroute -y
Ubuntu 最小化安装命令1sudo apt-get install build-essential cmake pkg-config qt4- qmake libqt4-dev desktop-file-utils \ libavformat-dev libavcodec-dev libavutil-dev libswscale- dev libasound2-dev libpulse-dev libjack-jackd2-dev \ libgl1-mesa-d ...