需要定期清理的索引的后缀日期格式为YYYY.MM.DD,如:nginx-2018.09.01,解决方法通过_cat/indices接口可以获取当前ES全部索引信息,取第三列为索引名。过滤出索引名中带有的日期字符串,然后进行日期比较,早于10天前的日期便可通过日期模糊匹配索引来删除。
在k8s上通过helm与动态NFS部署kafka、zookeeper
helm仓库地址https://github.com/helm/charts
利用cert-manager让Ingress启用免费的HTTPS证书
cert-manager 是替代 kube-lego 的一个开源项目,用于在 Kubernetes 集群中自动提供 HTTPS 证书,支持 Let’s Encrypt, HashiCorp Vault 这些免费证书的签发。
kubernetes通过TLS安全访问
外部访问k8s里的服务,都是直接以http方式进行的,缺少TLS安全
kubernetes 中拉取私有仓库(腾讯云)
利用NFS client provisioner动态提供Kubernetes后端存储卷
利用NFS Server给Kubernetes作为持久存储的后端,并且动态提供PV。前提条件是有已经安装好的NFS服务器,并且NFS服务器与Kubernetes的Slave节点都能网络连通。
官方文档:https://github.com/kubernetes-incubator/external-storage/tree/master/nfs-client
Kubernetes应用程序部署工作流程
- 用户通过“kubectl”部署一个新的应用程序。Kubectl将请求发送到API服务器。
- API服务器接收请求并将其存储在数据存储(etcd)中。将请求写入数据存储后,API服务器将完成请求。
通过kubenetes Helm安装Ceph
准备环境
公共网络和集群网络必须相同
如果存储类用户标识不是admin,则必须在Ceph集群中手动创建用户并在Kubernetes中创建其密钥
ceph-mgr只能运行1个副本
启动本地Helm
ceph-helm项目默认使用本地Helm repo来存储images,要启动本地Helm repo服务器
1 | $ helm serve & |
增加本地helm仓库
1 | $ git clone https://github.com/ceph/ceph-helm |
配置Ceph
创建一个ceph-overrides.yaml Ceph配置来覆盖ceph-helm默认值
1 | $ cat ~/ceph-overrides.yaml |
创建kubernetes 命名空间
1 | $ kubectl create namespace ceph |
配置RBAC权限
Kubernetes> = v1.6使用RBAC为默认权限,rbac.yaml默认在git clone下来的文件夹里面
1 | kubectl create -f ~/ceph-helm/ceph/rbac.yaml |
创建标签
# Ceph Monitor
$ kubectl label node <nodename> ceph-mon=enabled ceph-mgr=enabled
# OSD node
$ kubectl label node <nodename> ceph-osd=enabled ceph-osd-device-dev-sdb=enabled ceph-osd-device-dev-sdc=enabled
ORA-00980同义词转换不再有效
Vmware虚拟机系统重启后系统无法进入解决
故障提示:fsck.ext4: No such file or directory while trying to open /dev/sdc1
故障原因:如挂着硬盘无法读取或者被删掉