网站 组成,wordpress skype,网站建设背景和目标,写wordpress插件一、修改所有节点主机名
主节点就修改成master
hostnamectl set-hostname master
然后输入bash刷新当前主机名 工作节点1就修改成node1
hostnamectl set-hostname node1
然后输入bash刷新当前主机名 二、全部节点安装依赖并同步时间
yum -y install socat conntrack ebta…
一、修改所有节点主机名
主节点就修改成master
hostnamectl set-hostname master
然后输入bash刷新当前主机名 工作节点1就修改成node1
hostnamectl set-hostname node1
然后输入bash刷新当前主机名 二、全部节点安装依赖并同步时间
yum -y install socat conntrack ebtables ipset yum install ntpdate -y
同步时间
ntpdate time.windows.com 三、下载 KubeKey
3.1 选择中国时区
export KKZONEcn
3.2 执行以下命令下载 KubeKey
curl -sfL https://get-kk.kubesphere.io | VERSIONv3.0.13 sh – 注意
节点要求
所有节点必须都能通过 SSH 访问。所有节点时间同步。所有节点都应使用 sudo/curl/openssl/tar
3.3 为 kk 添加可执行权限
chmod x kk 3.4 创建集群
3.5 创建示例配置文件
我这里kubesphere选了3.4.1版本如果不指定 Kubernetes 版本KubeKey 将默认安装 Kubernetes v1.23.10
./kk create config --with-kubernetes v1.23.0 --with-kubesphere v3.4.1 -f k8s/自定义文件名.yaml 3.6 修改生成的yaml文件
只修改主机名、IP地址、用户名密码区分工作节点与主节点其他不变 3.7 运行以下命令安装集群
./kk create cluster -f k8s/文件名.yaml 如果出现无法下载镜像包那就配置一下dockers的加速器
cat /etc/docker/daemon.json
{exec-opts: [native.cgroupdriversystemd],registry-mirrors: [https://docker.1ms.run,https://docker.m.daocloud.io,https://docker.1panel.top],live-restore: true,log-driver: json-file,log-opts: {max-size: 500m,max-file: 3},max-concurrent-downloads: 10,max-concurrent-uploads: 5}
重启dockers服务
systemctl daemon-reload systemctl restart docker
最后出现这个就是装好了 四、安装Elasticsearch收集pod日志
4.1 服务器优化
4.1.1、调整最大文件数到65535 vi /etc/security/limits.conf * hard nofile 65535
* soft nofile 65535 通过ulimit -n命令查看
4.1.2、修改vm.max_map_count
修改/etc/sysctl.conf文件再文件末尾加上
vm.max_map_count655360
并执行sysctl -p使修改文件部分生效。
4.1.3、创建用户
Elasticsearch不允许root用户启动需要创建es专用账号 groupadd elastic
useradd elastic -g elastic
#设置用户密码
passwd elastic 4.1.4创建数据目录 mkdir -p /data/elastic/data
mkdir -p /data/elastic/logscd /data/elastic/
#下载elasticsearch软件包wget -c https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.0-linux-x86_64.tar.gz#tar解压elasticsearch软件包tar -xzvf elasticsearch-7.17.0-linux-x86_64.tar.gzchown -R elastic:elastic /data/elastic 安装jdk
wget -c https://download.oracle.com/otn/java/jdk/8u441-b07/7ed26d28139143f38c58992680c214a5/jdk-8u441-linux-x64.tar.gz?AuthParam1740191829_6b95284f0978b16082f95c598ba9fc01
解压到指定目录
tar -zxvf jdk-8u441-linux-x64.tar.gz -C /usr/local/
配置jdk环境变量 export JAVA_HOME/usr/local/jdk1.8.0_441
export PATH$PATH:$JAVA_HOME/bin
export CLASSPATH.:JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH source /etc/profile 切换用户
su – elastic
据服务器配置修改jvm.options中的Xms、Xmx
我的服务器是32G
这里修改jvm占用内存 例如修改为8g -Xms8g
-Xmx8g 注意把这两个参数的空格去掉不然会报错4.1.5 4.1.5 修改elasticsearch.yml配置文件
配置相关信息并开启安全认证可选我取消证书认证了
cluster.name: 集群名node.name: node-1path.data: /data/elastic/datapath.logs: /data/elastic/logsnetwork.host: 0.0.0.0http.port: 9200discovery.seed_hosts: [主机IP]cluster.initial_master_nodes: [node-1]http.cors.enabled: truehttp.cors.allow-origin: *http.cors.allow-headers: Authorizationingest.geoip.downloader.enabled: false#开启安全认证配置可选我取消证书认证了xpack.security.enabled: truexpack.security.transport.ssl.enabled: truexpack.security.transport.ssl.verification_mode: certificatexpack.security.transport.ssl.keystore.path: certs/elastic-certificates.p12xpack.security.transport.ssl.truststore.path: certs/elastic-certificates.p12 如果是集群可以在任意节点生成证书可选我取消证书认证了 为Elasticsearch集群创建一个证书颁发机构。可选我取消证书认证了 bin/elasticsearch-certutil ca Please enter the desired output file [elastic-stack-ca.p12]: #这里直接回车即可
Enter password for elastic-stack-ca.p12 : #这里直接回车即可不要设置密码 之后会看到新生成的文件 elastic-stack-ca.p12
生成私钥可选我取消证书认证了 bin/elasticsearch-certutil cert --ca elastic-stack-ca.p12 下面三项直接回车即可 Enter password for CA (elastic-stack-ca.p12) :
Please enter the desired output file [elastic-certificates.p12]:
Enter password for elastic-certificates.p12 : #这里直接回车即可不要设置密码否则后面ES会启动不了
Certificates written to /……/elastic-certificates.p12 设置完毕后会在当前目录 下看到新生成的文件elastic-certificates.p12
创建文件夹certs放置私钥可选我取消证书认证了 mkdir config/certs
cp elastic-certificates.p12 config/certs
如果是集群将生成的证书拷贝到其他节点的相同目录即可。启动esbin/elasticsearch (初次不加-d 静默启动便于观察日志) 可以看到除了有些告警以外es可以正常启动 然后设置密码
[elasticserver elasticsearch-7.17.0]$ bin/elasticsearch-setup-passwords interactivewarning: usage of JAVA_HOME is deprecated, use ES_JAVA_HOMEFuture versions of Elasticsearch will require Java 11; your Java version from [/usr/local/jdk1.8.0_441/jre] does not meet this requirement. Consider switching to a distribution of Elasticsearch with a bundled JDK. If you are already using a distribution with a bundled JDK, ensure the JAVA_HOME environment variable is not set.Initiating the setup of passwords for reserved users elastic,apm_system,kibana,kibana_system,logstash_system,beats_system,remote_monitoring_user.You will be prompted to enter passwords as the process progresses.Please confirm that you would like to continue [y/N]yEnter password for [elastic]:Reenter password for [elastic]:Enter password for [apm_system]:Reenter password for [apm_system]:Enter password for [kibana_system]:Reenter password for [kibana_system]:Enter password for [logstash_system]:Reenter password for [logstash_system]:Enter password for [beats_system]:Reenter password for [beats_system]:Enter password for [remote_monitoring_user]:Reenter password for [remote_monitoring_user]:Changed password for user [apm_system]Changed password for user [kibana_system]Changed password for user [kibana]Changed password for user [logstash_system]Changed password for user [beats_system]Changed password for user [remote_monitoring_user]Changed password for user [elastic] 按个人需求输入密码即可。
ES中内置的用户:
elastic 账号拥有 superuser 角色是内置的超级用户。kibana 账号拥有 kibana_system 角色用户 kibana 用来连接 elasticsearch 并与之通信。Kibana 服务器以该用户身份提交请求以访问集群监视 API 和 .kibana 索引。不能访问 index。logstash_system 账号拥有 logstash_system 角色。用户 Logstash 在 Elasticsearch 中存储监控信息时使用。beats_system账号拥有 beats_system 角色。用户 Beats 在 Elasticsearch 中存储监控信息时使用。elastic是超级用户它可以做任何事情 4.1.6 验证ES是否正常
curl -XGET --user elastic:elastic http://节点IP:9200/_cluster/health?pretty 将kubesphere默认的日志接收器换成外部ES 在定制资源定义中找到 ClusterConfiguration ---ks-installer配置文件截图 修改es部分保存即可 修改OutPut部分
这个文件不支持显示明文用户密码所以需要先创建secret保存用户密码
kubectl create secret generic elasticsearch-credentials --from-literalusernameelastic --from-literalpasswordelastic -n kubesphere-logging-system -v8
修改修改OutPut文件 key: username # 使用 Secret 中的键名
name: elasticsearch-credentials # 确保密钥名称正确
key: password # 使用 Secret 中的键名
name: elasticsearch-credentials # 确保密钥名称正确 然后查看fluent-bit的pod是否将日志推送到外部ES并且kubesphere是否能正常显示ES收集的日志 我这已经成功使用外部ES收集并显示日志
注意ES配置证书后kubesphere访问有点麻烦所以我的ES取消证书认证了只配置了密码