jobcher

jobcher

欢迎关注

JOBCHER BLOG
Kubernetes 实验手册(1)
Kubernetes 实验手册(1) 通过在 pve 创建 5 台虚拟机: 节点 IP 作用 node0 192.168.99.69 k8s-master01 node1 192.168.99.9 k8s-master02 node2 192.168.99.53 k8s-master03 node3 192.168.99.41 k8s-node01 node4 192.168.99.219 k8s-node02 node5 192.168.99.42 k8s-master-lb 配置信息 备注 系统版本 Ubuntu Docker 20.10.12 pod 网段 172.168.0.0/12 service 网段 10.96.0.0/12 VIP 不要和内网 IP 重复,VIP 需要和主机在同一个局域网内 更新 ansible 连接 1ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.99.155 2ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.99.199 3ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.99.87 4#ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.99.41 5#ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.99.219 1vim /etc/hosts 2192.
JOBCHER BLOG
RocketMQ 安装和启动
RocketMQ 安装和部署 部署 RocketMQ 单机安装构建 安装 JDK 1.8.0 1yum install java-1.8.0-openjdk* 安装 Maven 1wget http://dlcdn.apache.org/maven/maven-3/3.8.4/binaries/apache-maven-3.8.4-bin.tar.gz 2tar -zxvf apache-maven-3.8.4-bin.tar.gz 3mv -f apache-maven-3.8.4 /usr/local/ 4vim /etc/profile 5# 末尾添加 6export MAVEN_HOME=/usr/local/apache-maven-3.8.4 7export PATH=${PATH}:${MAVEN_HOME}/bin 8# 保存 9source /etc/profile 10# 查看maven是否正常 11mvn -v 快速部署 1#构建 DLedger 2git clone https://github.com/openmessaging/openmessaging-storage-dledger.git 3cd openmessaging-storage-dledger 4mvn clean install -DskipTests 5# 构建 RocketMQ 6git clone https://github.com/apache/rocketmq.git 7cd rocketmq 8git checkout -b store_with_dledger origin/store_with_dledger 9mvn -Prelease-all -DskipTests clean install -U 10# 部署 11cd rocketmq/distribution/target/apache-rocketmq 12sh bin/dledger/fast-try.
JOBCHER BLOG
安装 minIO Azure S3网关
安装 minIO 通过 docker 安装 1docker run -p 9000:9000 -p 41863:41863 -d --name azure-s3 \ 2 -e "MINIO_ACCESS_KEY=azure存储账户" \ 3 -e "MINIO_SECRET_KEY=azure存储密码" \ 4 minio/minio gateway azure --console-address ":41863" 通过 docker-compose 安装 1version: "3" 2services: 3 minio: 4 image: "minio/minio:RELEASE.2022-01-04T07-41-07Z.fips" 5 container_name: "minio" 6 restart: "always" 7 volumes: 8 - "/etc/localtime:/etc/localtime" 9 ports: 10 - "9000:9000" 11 - "9001:9001" 12 environment: 13 - "MINIO_ROOT_USER=azure存储账户" 14 - "MINIO_ROOT_PASSWORD=azure存储密码" 15 command: 16 - --console-address ":41863"
JOBCHER BLOG
Keepalived高可用
Keepalived 高可用 配置文件存放位置:/usr/share/doc/keepalived/samples VVRP 虚拟路由冗余协议 组成 LB 集群:Load Balancing,负载均衡集群,平均分配给多个节点 HA 集群:High Availability,高可用集群,保证服务可用 HPC 集群:High Performance Computing,高性能集群 配置 keepalived+LVS+nginx 各节点时间必须同步:ntp, chrony 关闭防火墙及 SELinux 同步各节点时间 1#安装ntpdate 2apt install ntpdate 3#更改时区 4timedatectl set-timezone 'Asia/Shanghai' 5#查看时间 6timedatectl 7datetime 安装 keepalived 1#安装 2apt install keepalived 3#更改模板 4cd /usr/share/doc/keepalived/samples
JOBCHER BLOG
ansible 安装和部署
ansible 安装和部署 Ansible 默认通过 SSH 协议管理机器. 安装 ansible 下载安装 1# ubuntu 安装 2apt-get install software-properties-common 3apt-add-repository ppa:ansible/ansible 4apt-get update 5apt-get install ansible 6# centos 安装 7yum install ansible 检查文件 1#检查 2ansible --version ansible 配置 添加主机 1vim /etc/ansible/hosts 2#添加你需要添加的被控主机地址和IP 配置 SSH key 授权访问 1# 控制主机生成ssh 密钥对(一路回车) 2ssh-keygen -t rsa 3# 复制公钥IP到被控主机 4ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.2 5ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3 6ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.4 7# ssh-copy-id命令会自动将id_rsa.pub文件的内容追加到远程主机root用户下.ssh/authorized_keys文件中。 更改 ansible 配置 1vim /etc/ansible/ansible.cfg 2 3#禁用每次执行ansbile命令检查ssh key host 4host_key_checking = False 5# 开启日志记录 6log_path = /var/log/ansible.
JOBCHER BLOG
yaml 语法
yaml 语法 我们使用 YAML 是因为它像 XML 或 JSON 是一种利于人们读写的数据格式. 此外在大多数变成语言中有使用 YAML 的库.YAML 语法的基本概述, 它被用来描述一个 playbooks(我们的配置管理语言). 基本的 YAML 对于 Ansible, 每一个 YAML 文件都是从一个列表开始. 列表中的每一项都是一个键值对, 通常它们被称为一个 “哈希” 或 “字典”. 所以, 我们需要知道如何在 YAML 中编写列表和字典. YAML 还有一个小的怪癖. 所有的 YAML 文件(无论和 Ansible 有没有关系)开始行都应该是 —. 这是 YAML 格式的一部分, 表明一个文件的开始. 1--- 2# 一个美味水果的列表 3- Apple 4- Orange 5- Strawberry 6- Mango
JOBCHER BLOG
logrotate 日志滚动的使用
logrotate 日志滚动的使用 logrotate 日志滚动切割工具,是 linux 默认安装的工具,配置文件位置: 1/etc/logrotate.conf 2/etc/logrotate.d/ 参数 以 nginx 配置为例 1/opt/log/nginx/*.log { 2 daily 3 missingok 4 rotate 14 5 errors "nb@nbtyfood.com" 6 compress 7 delaycompress 8 notifempty 9 create 0640 www-data adm 10 sharedscripts 11 prerotate 12 if [ -d /etc/logrotate.d/httpd-prerotate ]; then \ 13 run-parts /etc/logrotate.d/httpd-prerotate; \ 14 fi \ 15 endscript 16 postrotate 17 invoke-rc.d nginx rotate >/dev/null 2>&1 18 endscript 19} 参数 作用 compress 压缩日志文件的所有非当前版本 daily,weekly,monthly 按指定计划轮换日志文件 delaycompress 压缩所有版本,除了当前和下一个最近的 endscript 标记 prerotate 或 postrotate 脚本的结束 errors “emailid” 给指定邮箱发送错误通知 missingok 如果日志文件丢失,不要显示错误 notifempty 如果日志文件为空,则不轮换日志文件 olddir “dir” 指定日志文件的旧版本放在 “dir” 中 postrotate 引入一个在日志被轮换后执行的脚本 prerotate 引入一个在日志被轮换前执行的脚本 rotate ’n' 在轮换方案中包含日志的 n 个版本 sharedscripts 对于整个日志组只运行一次脚本 size=‘logsize’ 在日志大小大于 logsize(例如 100K,4M)时轮换
JOBCHER BLOG
docker 和 docker-compose 安装
安装 docker 通过 docker 脚本安装 1curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun 1curl -sSL https://get.daocloud.io/docker | sh CentOS 手动安装 卸载之前相关的依赖 1sudo yum remove docker \ 2 docker-client \ 3 docker-client-latest \ 4 docker-common \ 5 docker-latest \ 6 docker-latest-logrotate \ 7 docker-logrotate \ 8 docker-engine 下载依赖包 1sudo yum install -y yum-utils 选择国内阿里云镜像 1sudo yum-config-manager \ 2 --add-repo \ 3 https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 安装 Docker Engine-Community 1sudo yum install docker-ce docker-ce-cli containerd.
JOBCHER BLOG
gitlab与github同步项目
gitlab 与 github 同步项目 本地同步项目 1git clone 创建一个同名的项目,命令行终端中添加 remote 地址 1git remote add githubOrigin git@github.com:sjtfreaks/blog.git 项目同步到 Github 上 1git push -u githubOrigin main 分别同步 github 与 gitlab 即可 1git push -u githubOrigin main 2git push -u origin main
JOBCHER BLOG
iptables 基础知识
iptables 基础知识 内核包过滤与 NAT 管理工具.是 linux 系统中在用户空间中运行的运来配置内核防火墙的工具。它可以设置,维护和检查 linux 内核中的 ipv4 包过滤规则和管理网络地址转换(NAT)。 ipatbles 命令仅支持 ipv4,如果使用的 IP 协议是 ipv6 则需要使用专门的管理工具 ip6tables。 常用参数 参数 作用 -t<表> 指定要操纵的表 -A 向规则链中追加条目 -D 从规则链中删除条目 -I 向规则链中插入条目 -R 替换规则链中的相应条目 -L 显示规则链中的已有条目 -F 清除规则链中的现有条目。不改变规则链的默认目标策略 -Z 清空规则链中的数据包计数器和字节计数器 -N 创建新的用户自定义规则链 -P 定义规则链中的默认目标(策略) -h 显示帮助信息 -p<协议> 指定要匹配的数据包的协议类型 -s<源地址> 指定要匹配的数据包的源 IP 地址 -j<目标> 指定要跳转的目标 -i<网络接口> 指定数据包进入本机的网络接口 -o<网络接口> 指定数据包离开本机做使用的网络接口 -c<包计数> 在执行插入、追加和替换操作时初始化包计数器和字节计数器 参考实例 显示内核当前的 filter 表: 1iptables -L 显示内核当前的 nat 表: 1iptables -L -t nat 禁止本机对 192.
JOBCHER BLOG
k3s 升级版本
k3s 升级版本 停止所有的 K3s 容器(慎用) 从 server 节点运行 killall 脚本 1/usr/local/bin/k3s-killall.sh 开始升级 使用安装脚本升级 K3s 1curl -sfL https://get.k3s.io | sh - 2#国内可用 3curl -sfL http://rancher-mirror.cnrancher.com/k3s/k3s-install.sh | INSTALL_K3S_MIRROR=cn sh - 重启 k3s 1sudo systemctl restart k3s
JOBCHER BLOG
安装配置 Terraform
安装配置 Terraform 安装 macOS 苹果系统安装 1#安装 2brew tap hashicorp/tap 3brew install hashicorp/tap/terraform 4# 更新 5brew update 6brew upgrade hashicorp/tap/terraform 7#验证安装 8terraform -help windows 系统安装 1#安装 2choco install terraform 3#直接到这个url里下载64位系统 4https://www.terraform.io/downloads 5#验证安装 6terraform -help Linux 安装 1curl -fsSL https://apt.releases.hashicorp.com/gpg | sudo apt-key add - 2sudo apt-add-repository "deb [arch=amd64] https://apt.releases.hashicorp.com $(lsb_release -cs) main" 3sudo apt-get update && sudo apt-get install terraform 4#验证安装 5terraform -help 1wget -O- https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo | sudo tee /etc/yum.repos.d/hashicorp.repo 2sudo yum install terraform -y terrafrom 控制 proxmox 虚拟机 来源:https://github.