在kubesphere运行的时候如果各个项目产生了太多的日志过多导致es集群status为red状态或者容器无法及时刷新到最新的日志可以采用如下方式进行解决。我介绍两种方式:
elasticsearch-head删除方式
- 发布最新的elasticsearch-head-5 ,yaml文件如下:
kind: Deployment
apiVersion: apps/v1
metadata:
name: elasticsearch-head-5
namespace: jansure
labels:
app: elasticsearch-head
app.kubernetes.io/name: elasticsearch-head
app.kubernetes.io/version: v1
version: '5'
annotations:
deployment.kubernetes.io/revision: '5'
servicemesh.kubesphere.io/enabled: 'false'
spec:
replicas: 1
selector:
matchLabels:
app: elasticsearch-head
app.kubernetes.io/name: elasticsearch-head
app.kubernetes.io/version: v1
version: '5'
template:
metadata:
creationTimestamp: null
labels:
app: elasticsearch-head
app.kubernetes.io/name: elasticsearch-head
app.kubernetes.io/version: v1
version: '5'
annotations:
kubesphere.io/containerSecrets: ''
kubesphere.io/restartedAt: '2020-02-06T10:35:21.298Z'
sidecar.istio.io/inject: 'false'
spec:
containers:
- name: mobzelasticsearch-head-ex2sfr
image: 'mobz/elasticsearch-head:5-alpine'
ports:
- name: tcp-9100
containerPort: 9100
protocol: TCP
resources:
limits:
cpu: '2'
memory: 5000Mi
requests:
cpu: '2'
memory: 5000Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: IfNotPresent
restartPolicy: Always
terminationGracePeriodSeconds: 30
dnsPolicy: ClusterFirst
serviceAccountName: default
serviceAccount: default
securityContext: {}
schedulerName: default-scheduler
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
revisionHistoryLimit: 10
progressDeadlineSeconds: 600
- 新建elasticsearch-head-5 deployment 的service和应用路由,在此不再赘述。
- 设置kubesphere-logging-system下的elasticsearch-logging-data statefulset的service为负载均衡模式并记住端口
例如:


访问elasticsearch-head-5的应用路由,我配置的是:

通过本地电脑访问esui.k8s-devops.com,从图中红色框中输入第3步中的主机IP和端口(其实就是es所在的终极和负载均衡端口),并且点击连接。则在此页面下边就可以进行删index的操作。

脚本删除方式
- 与“elasticsearch-head删除方式”中的第2、3步操作相同
- 在任何一台主机上执行
vim delete.sh
添加如下脚本:
#!/bin/bash
index=$1
curl -XDELETE http://**IP**:24902/${index}-*
if [ $? == 0 ];then
echo "删除${index}成功"
fi
其中的IP为es所在的机器的IP地址。
- 执行
./delete.sh XXXX
其中XXXX为index的前缀,比如:
./delete.sh ks