ES ElasticSearch 7.5 集群模式 安装手册?
介绍
全文搜索属于最常见的需求,开源的 Elasticsearch (以下简称 Elastic)是目前全文搜索引擎的首选。
它可以快速地储存、搜索和分析海量数据。维基百科、Stack Overflow、Github 都采用它。
Elastic 的底层是开源库 Lucene。但是,你没法直接用 Lucene,必须自己写代码去调用它的接口。
Elastic 是 Lucene 的封装,提供了 REST API 的操作接口,开箱即用。
环境信息
序号
IP地址
系统
角色
节点名
1
192.168.10.101
CentOS7
master/node
es01
2
192.168.10.102
CentOS7
master/node
es02
3
192.168.10.103
CentOS7
master/node
es03
安装ElasticSearch
优化系统参数修改limits.conf编辑 /etc/security/limits.conf,追加以下内容;
12* soft nofile 6553 ...
第一篇 jenkins怎么样部署k8s项目之Jenkins插件配置
前言
想要在Jenkins上实现k8s自动化部署,首先在Jenkins上安装一个插件Kubernetes Plugin
Kubernetes插件是一个很棒的工具,可以将Jenkins从属设备动态配置为Kubernetes集群上的pod。您需要做的就是添加和配置Kubernetes Cloud作为Jenkins配置的一部分。
插件如图
安装插件的过程就不讲述了,安装完成后Kubernetes插件怎么配置呢?配置Jenkins Kubernetes插件需要的哪些东西
首先要有一个k8s集群,查看/etc/kubernetes/admin.conf
kubernetes url 一般还说地址就是:https://kubernetes:6443
连接Kubernetes证书, 哪里生成证书的证书,下面我会详细说
插件配置
在系统管理 — 系统设置 — 最下面 新增一个云
在Kubernetes Cloud details…里面 配置K8s集群信息
需要填写的内容
名称
Kubernetes 地址
Kubernetes 服务证书 key
Ku ...
k8s 证书过期问题怎么处理?certificate has expired or is not yet valid
介绍
公司测试环境的 k8s 集群使用已经很长时间了,突然有一天开发联系我说 k8s 集群无法访问,开始以为是测试环境的机器磁盘空间不够了,导致组件异常或者把开发使用的镜像自动清理掉了,但是当登上机器去查验的时候发现不是这个原因。当时觉得也很疑惑。因为开发环境使用人数较少,不应该会出问题,所以就去查验 log 的相关报错信息。
问题现象
出现 k8s api 无法调取的现象,使用 kubectl 命令获取资源均返回如下报错:
1$ Unable to connect to the server: x509: certificate has expired or is not yet valid
经网上搜索之后发现应该是 k8s 集群的证书过期了,使用命令排查证书的过期时间
1234for item in `find /etc/kubernetes/pki -maxdepth 2 -name "*.crt"`do openssl x509 -in $item -text -noout| grep Notecho ======================$ite ...
ERROR 1290 (HY000): The MySQL server is running with the --secure-file-priv option so it cannot exec
介绍
在Mysql中 使用 select from … into outfile 导出数据时报错ERROR 1290 (HY000): The MySQL server is running with the –secure-file-priv option so it cannot execute this statement
分析原因
其实原因很简单,因为在安装MySQL的时候限制了导入与导出的目录权限。只允许在规定的目录下才能导入。可以通过以下命令查看secure-file-priv当前的值是什么
SHOW VARIABLES LIKE “secure_file_priv”;
可以看到,本地value的值为 /var/lib/mysql-files 。/var/lib/mysql-files代表什么意思呢?经查资料:
NULL,表示禁止。
如果value值有文件夹目录,则表示只允许该目录下文件(PS:测试子目录也不行)。
如果为空,则表示不限制目录。
解决方案
把导入文件路径改成secure-file-priv目前 ...
Jenkins Failed to connect to http://xxx:8080/tcpSlaveAgentListener/: Connection refused (Connection refused)
介绍
K8s集群上运行的Jenkins报这个错SEVERE: Failed to connect to http://172.25.42.235:8081/tcpSlaveAgentListener/: Connection refused (Connection refused)构建时创建Pod失败,后一直循环创建Jenkins-slave
排查错误
查看Jenkins服务日志
[root@k8s-master01 jenkins]# kubectl get pod -n devopsgrep jenkinsjenkins-app-7b4ff4c854-zpcd2 1/1 Running 5 105d[root@k8s-master01 jenkins]# kubectl logs -f jenkins-app-7b4ff4c854-zpcd2 -n devops
发现如下报错
Jan 10, 2022 2:24:13 AM hudson.remoting.jnlp.Main$CuiListener errorSEVERE: ...
Ingress-Nginx 安装 高可用
介绍
使用官方默认的mandatory.yaml去部署 nginx-ingress-controller,默认为 Deployment + Nodeport 模式,启动 nginx-ingress-controller 后,先使用 kubectl get pod -A -o wide grep nginx-ingress-controller 查看 nginx-ingress-controller 部署到哪个节点上了,再去 给ingress 创建一个 nodeport 服务,这种方式将集群内部的服务暴露出去。如果这个ingress-nginx出现了故障,将导致整个集群不可用。
本文介绍一种DaemonSet+HostNetwork+nodeSelector方式搭建的多ingress-nginx实例高可用集群。
下载 nginx-ingress-controller 配置
mandatory.yaml 地址,下载默认的配置
https://github.com/leenhem/ingress-nginx/blob/nginx-0.30.0/deploy/static/mandatory ...
nfs 自动挂载
介绍
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间通过TCP/IP网络共享资源。在NFS的应用中,本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样
自动挂载
开机自动挂载:/etc/fstab 里添加
通过系统配置 /etc/fstab 自动挂载
server_IP:/remote_dir /local_dir nfs defaults 1 1
例如:
192.168.56.101:/home/shareStoreDir /home/shareStoreDir nfs defaults 0 0
第1个1表示备份文件系统,第2个1表示从/分区的顺序开始fsck磁盘检测,0表示不检测。
这种方法不推荐,尝试过程中发现开机很慢,而且开机后并没有挂载成功。后查找原因是开机时,系统还没有完全完成所有服务的启动,包括网络服务:network。在网络 ...
mount 挂载 nfs 报错 mount: wrong fs type, bad option, bad superblock on
介绍
NFS就是Network File System的缩写,它最大的功能就是可以通过网络,让不同的机器、不同的操作系统可以共享彼此的文件。NFS服务器可以让PC将网络中的NFS服务器共享的目录挂载到本地端的文件系统中,而在本地端的系统中来看,那个远程主机的目录就好像是自己的一个磁盘分区一样,在使用上相当便利
远程挂载时发生错误
在远程服务器上挂载时报错
mount: wrong fs type, bad option, bad superblock on 192.168.55.102:/data,missing codepage or helper program, or other error(for several filesystems (e.g. nfs, cifs) you mightneed a /sbin/mount. helper program)In some cases useful info is found in syslog - trydmesg tail or so
问题解决方法
这个问题是由于远程客户端没有安装 nfs 工 ...
umount.nfs4: /mnt/nfs/code404: device is busy
介绍
执行NFS挂载时,你可能会看到设备繁忙状态。在这种情况下,你必须以适当的方式强制卸载。
查看挂载的分区
使用 df -h 查看分区
# df -hFilesystem Size Used Avail Use% Mounted on/dev/vda1 20G 3G 18G 7% /devtmpfs 236M 0 236M 0% /devtmpfs 245M 0 245M 0% /dev/shmtmpfs 245M 4M 237M 4% /runtmpfs 245M 0 245M 0% /sys/fs/cgrouptmpfs 49M 0 49M 0% /run/user/0192.168.55.101:/var/code404 20G 3G 18G 7% /mnt/nfs/code404
卸载 nfs 挂载
提示 device is busy
umount / ...
离线安装 Kubernetes一键安装
介绍
正常部署K8s时,一般情况下单位服务器是不联网的,需要离线安装。本文就讲一下在没有互联网到企业内网部署Kubernetes集群
安装前准备
安装并启动docker/containerd(1.20+安装containerd),已经安装了会重启docker/containerd. 高版本离线包自带docker/containerd,如没安装docker/containerd会自动安装.
下载kubernetes 离线安装包.
下载最新版本sealos.
务必同步服务器时间
主机名不可重复,需要修改主机的主机名
master节点CPU必须2C以上
环境信息主机名
IP地址
服务器密码
centos7-01
192.168.55.101
123456
centos7-02
192.168.55.102
123456
centos7-03
192.168.55.103
123456
下面离线包
只需要准备好服务器,在任意一台服务器上执行下面命令即可
下载并安装sealos, sealos是个golang的二进制工具,直接下载拷贝到bin目录即可 ...