Kubernetes
在 Kubernetes 部署 Jumpserver 跳板机
· ☕ 3 分钟
1. 部署 Jumpserver 需要提前准备好 StorageClass,用于存储 Jumpserver 的数据。除了下面提到的数据库,各个组件 jms-core、jms-web、jms-koko、jms-lion、jms-chen 都需要一个 PV 存储。 1.1 部署 MySQL 参考 https://github.com/shaowenchen/ops-hub/blob/main/database/mysql8.yaml ,部署 MySQL。 需要调整

使用 Ops 项目查看并监控集群事件
· ☕ 2 分钟
https://github.com/shaowenchen/ops 1. 告警 Kubernetes 集群的事件 监控指定的关键字 1 2 3 4 5 6 7 8 9 10 11 apiVersion: crd.chenshaowen.com/v1 kind: EventHooks metadata: name: kube-pod-falid namespace: ops-system spec: type: xiezuo url: https://xxx.com/api/v1/webhook/send?key=xxx subject: "ops.clusters.*.namespaces.*.pods.*.event" keywords: - failed 一份简单的配置,即可收获大量的相关告警。 监控之后,自动化处理 1 2 3 4 5 6 7 8 9 10 11 12 apiVersion: crd.chenshaowen.com/v1 kind: EventHooks metadata: name: kube-no-free-node namespace: ops-system spec: additional: "action: restart-kubelet-bypod" keywords: - no free node subject: ops.clusters.*.namespaces.*.pods.*.event type: webhook url: http://x.x.x.x/webhook 借助 Ops Copilot 的执

使用 Fluid 对接 S3 存储及性能测试
· ☕ 1 分钟
1. Jindo 挂载 S3 配置环境变量 1 2 3 4 export ENDPOINT=obs.ap-southeast-3.myhuaweicloud.com export BUCKET= export AK= export SK= 创建凭证 1 2 3 4 5 6 7 8 9 10 kubectl apply -f - <<EOF apiVersion: v1 kind: Secret metadata: name: mys3secret type: Opaque stringData: fs.s3.accessKeyId: ${AK} fs.s3.accessKeySecret: ${SK} EOF 创建 Dataset 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 kubectl apply -f - <<EOF apiVersion: data.fluid.io/v1alpha1 kind: Dataset metadata: name: mys3-jindo spec: mounts: - mountPoint: s3://${BUCKET}/test2/ options: fs.s3.endpoint: ${ENDPOINT} encryptOptions: - name: fs.s3.accessKeyId valueFrom: secretKeyRef: name: mys3secret key: fs.s3.accessKeyId - name: fs.s3.accessKeySecret valueFrom: secretKeyRef: name:

Ops 发布 v1.0.0 版本
· ☕ 2 分钟
基于生产的真实需要,最近对 https://github.com/shaowenchen/ops 又进行了几个重要的更新,同时发布了 v1.0.0 版本。这里主要介绍一下这个版本的主要特性。 1. 多集群执行任务的支持 在实践中,建议: 将当前集群的主机创建为 Host 可以创建多个 Cluster,拥有的 Cluster 对象即为纳管的集群 Task、Pipe

使用 Fluid 对接 OBS 存储及性能测试
· ☕ 1 分钟
1. Jindo 挂载 OBS 配置环境变量 1 2 3 4 export ENDPOINT=obs.cn-north-4.myhuaweicloud.com export BUCKET= export AK= export SK= 创建凭证 1 2 3 4 5 6 7 8 9 10 kubectl apply -f - <<EOF apiVersion: v1 kind: Secret metadata: name: myobssecret type: Opaque stringData: fs.obs.accessKeyId: ${AK} fs.obs.accessKeySecret: ${SK} EOF 创建 Dataset 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 kubectl apply -f - <<EOF apiVersion: data.fluid.io/v1alpha1 kind: Dataset metadata: name: myobs-jindo spec: mounts: - mountPoint: obs://${BUCKET}/test2/ options: fs.obs.endpoint: ${ENDPOINT} name: default path: "/" encryptOptions: - name: fs.obs.accessKeyId valueFrom: secretKeyRef: name: myobssecret key: fs.obs.accessKeyId