在Kubernetes中部署nacos 2.1.0
本次在 Kubernetes 上部署 nacos 2.1.0 版本, 部署 3 节点集群,不做数据持久化(nacos 的配置管理是存储 MySQL 数据库的,服务发现是需要本地存储的)新版本 nacos 部署参考: 在Kubernetes中部署nacos 2.3.2 MySQL 数据库准备创建数据库,配置好账号权限,执行如下 SQL...
使用cronjob自动重启k8s的deployment
配置权限1234567891011121314151617181920212223242526272829303132---kind: ServiceAccountapiVersion: v1metadata: name: deployment-restart namespace: default---apiVersion: rbac.authorization.k8s.io/v1kind: Rolemetadata: name: deployment-restart namespace: defaultrules: - apiGroups: ["apps", "extensions"] resources: ["deployments"] resourceNames: [] verbs: ["get", "patch", "list", "watch"] # list 和 watch 就够用了,如果需要执行...
hadoop集群搭建记录
准备工作配置节点间 ssh 免密略 安装 java 环境略 搭建 zookeeperzookeeper集群搭建 绑定 hosts12345cat >> /etc/hosts << 'EOF'192.168.200.11 hadoop1192.168.200.12 hadoop2192.168.200.13 hadoop3EOF 环境变量vim /etc/profile 123# hadoopexport HADOOP_HOME=/data/hadoop-3.2.4/export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin 创建目录12mkdir -p /data/hadoop_data/mkdir -p /var/lib/hadoop-hdfs 修改配置workers 这里面是 datanode 节点列表。 1234[root@m1 hadoop]# cat...
开源分布式存储工具longhorn部署
k8s 如果需要用到存储,对于云产品一般都是采用云厂商提供的存储驱动,自建机房简单一点的会采用 nfs,nfs 有以下问题: 高可用性问题,一般都是单台机器在跑,高可用完全依靠物理机器的 RAID,非常不云原生 性能问题,NFS 本身性能不算好,外加一个集群都在使用,网卡速度是个瓶颈longhorn 是个开源的存储引擎,简单来说就是它把 k8s 每个节点的磁盘空间搜集起来,组成一个大池子,然后分配个各个 pod 使用。并通过多副本的方式做高可用。longhorn 好像是 openSUSE 家的吧,和 rancher 一个公司。 官方文档官方安装说明:https://longhorn.io/docs/1.6.1/deploy/install/install-with-kubectl/ 官方安装要求:https://longhorn.io/docs/1.6.1/deploy/install/#installation-requirements 官方的检查依赖项脚本: 1curl -fsSL...
单节点Kubernetes更换ip地址
如果是个多节点的集群,更换一台 master 节点的 ip 有个更简单的办法,那就是先把这台机器下线,然后再扩容一台新的 master,安全无副作用,如果是单节点更换 ip 地址(如果旧 ip 不用回收,那么可以直接在网卡上再绑定一个 ip 地址,不用对 k8s 进行修改) 和 kubeadm之单节点master升级高可用master 有点类似 首先更换操作系统 ip 地址略 准备123456789# 备份配置文件cp -r /etc/kubernetes{,-bak}# 查看证书绑定的ip或域名for i in $(find /etc/kubernetes/pki -type f -name "*.crt");do echo ${i} && openssl x509 -in ${i} -text | grep 'DNS:';done# 删除需要重新生成的证书rm -rf...
使用Docker部署一套用于学习的Elasticsearch集群
一般来说,学习 ES 都是自己先搭建几台虚拟机,然后在虚拟机里部署 ES 集群,这样做资源消耗比较大,一般的电脑都没有这么高的配置,我们可以使用 Docker 来快速部署一套 Elasticsearch 集群,这里以 3 节点集群为例: 准备 Docker 网络集群节点之间是通过 ip 进行交互的,所以需要固定一下 ip,固定 ip 之前需要先创建一个 Docker 私有网络,并固定网段 (网段不要和你的内网冲突) 1docker network create --subnet=172.16.0.0/24 elasticsearch-br0 集群版 Elasticsearch 需要生成证书默认生成 3 年证书,我指定生成了 100 年的证书, 生成到了 certs 目录下。 12345docker run --rm -it -v $(pwd)/certs:/tmp/certs elasticsearch:7.17.14 bash -c \ 'echo -e "\n\n" |...
centos删除swap后无法启动
删除了 CentOS 的 swap 分区后,重启系统报错,提示 Warning: /dev/centos/swap does not exist,如图: 先挂载 /boot 分区, 不确定就一个一个挂载看看里面的文件对不对,正常情况下 /boot 分区大小在 1GB 以内 123mkdir /tmp/bootmount /dev/sda1 /tmp/bootcd /tmp/boot vi grub2/grub.cfg删除 rd.lvm.lv=centos/swap 这个配置, 然后: 1umount /tmp/boot 这样系统就可以正常启动了,但是还没完 /boot 里的文件都是自动生成的,每次更新内核或者手动执行 grub2-mkconfig, 会被覆盖掉,所以还需要修改原始的 grub 配置文件, vim /etc/default/grub 1234567GRUB_TIMEOUT=5GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g'...
docker官方私有仓库registry部署与使用
一般来说大家用容器镜像都选择 harbor,有个管理界面,还支持权限控制、漏洞扫描等,但是我公司有个客户的环境只允许通过跳板机登录 Linux 机器,没法使用浏览器,另外也只是需要一个简单一点的、好维护的仓库,找了一下,这个比较简单。如果需要更专业的私有镜像仓库,可以选择 harbor(免费)或者 jFrog 家的(收费) 自签名证书123456mkdir -p certsopenssl req \ -newkey rsa:4096 -nodes -sha256 -keyout certs/i.com.key \ -addext "subjectAltName = DNS:hub.i.com" \ -x509 -days 3650 -out certs/i.com.crt docker 信任证书将文件复制到每个 Docker 上 主机。您无需重新启动 Docker。 12mkdir -p /etc/docker/certs.d/hub.i.com/cp i.com.crt...
Kubernetes同一个namespace共用镜像secret
配置一个全局的镜像拉取密钥, 后续拉镜像就不用每个 deployment 单独配置了。 在每个 namespace 下都有一个默认的 service account, 假设命名空间是 test 使用 kubectl get sa -n test 查看 查看 serviceaccount 信息 1kubectl describe sa -n test Image pull secrets 是此 namespace 下拉取镜像的秘钥 1.创建 secret 1kubectl create secret -p docker-registry registrykey --namespace=test --docker-username=<harbor_user> --docker-password=<harbor_password> --docker-server=<harbor_url> 2.配置进 service account 1kubectl patch serviceaccount default -p...
解决MySQL 5.7在Redhat 9中启动报错:libncurses.so.5和libtinfo.so.5缺失问题
采用二进制安装 MySQL 服务的时候, 之前在 CentOS 7 系统中,直接 yum 安装依赖包就可以正常运行,但是到了 RHEL 9 系统下, 会报错找不到 libncurses.so.5, 根据经验需要查找一下这个库属于哪个包: 1yum provides libncurses.so.5 找不到这个包 不考虑版本,再次搜索 1yum provides libncurses.so.* 发现可以找到 6.2 的版本, 安装这个包 1yum install ncurses-libs 查看这个 rpm 包包含的文件: 1rpm -ql ncurses-libs | grep libncurses.so 此时需要做一个软链接(前提是此版本可以向后兼容,至少在 MySQL 5.7 这里运行是没问题的。) 1ln -s /usr/lib64/libncurses.so.6 /usr/lib64/libncurses.so.5 修改完成,报另一个错误了: 同样的方法, 再创建一个软链接: 1ln -s /usr/lib64/libtinfo.so.6...