k8s-创建自定义chart及部署efk-二十五

一、chart的结构

(1)更改helm为阿里云仓库源

[root@master helm]# helm repo remove stable
"stable" has been removed from your repositories

[root@master helm]# helm repo add stable https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts
"stable" has been added to your repositories

[root@master helm]# helm repo list
NAME         URL                                                        
local        http://127.0.0.1:8879/charts                               
incubator    https://kubernetes-charts-incubator.storage.googleapis.com/
stable       https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts

#更新
[root@master helm]# helm repo update
Hang tight while we grab the latest from your chart repositories...
...Skip local chart repository
...Successfully got an update from the "incubator" chart repository
...Successfully got an update from the "stable" chart repository
Update Complete. ⎈ Happy Helming!⎈

(2)

[root@master helm]# pwd
/root/manifests/helm
[root@master helm]# helm fetch stable/redis    #获取chart,会得到一个压缩包

[root@master helm]# tar zxf redis-6.4.3.tgz

[root@master helm]# ls
redis  redis-6.4.3.tgz  tiller-rbac.yaml

#chart目录结构
[root@master helm]# tree redis
redis
├── Chart.yaml            #chart元数据描述信息(版本...)
├── ci
│   ├── default-values.yaml
│   ├── dev-values.yaml
│   ├── production-values.yaml
│   ├── redisgraph-module-values.yaml
│   └── redis-lib-values.yaml
├── README.md
├── templates            #资源定义清单模板文件
│   ├── configmap.yaml
│   ├── health-configmap.yaml
│   ├── _helpers.tpl
│   ├── metrics-deployment.yaml
│   ├── metrics-prometheus.yaml
│   ├── metrics-svc.yaml
│   ├── networkpolicy.yaml
│   ├── NOTES.txt
│   ├── redis-master-statefulset.yaml
│   ├── redis-master-svc.yaml
│   ├── redis-rolebinding.yaml
│   ├── redis-role.yaml
│   ├── redis-serviceaccount.yaml
│   ├── redis-slave-deployment.yaml
│   ├── redis-slave-svc.yaml
│   └── secret.yaml
├── values-production.yaml
└── values.yaml            #为 templates中的资源定义清单设置自定义属性值
#其他目录结构
requirements.yaml        #当前chart是否依赖其他chart,这个文件是可选的。
charts/               #里面放置的是当前chart所要依赖的其他chart,这个是可选的。

#可以通过chart官方手册,来了解以上每项的详细含义: 
https://docs.helm.sh/developing_charts/#charts

二、用helm生成基础chart示例性文件

(1)

[root@master helm]# helm create myapp
Creating myapp

[root@master helm]# ls |grep myapp
myapp

[root@master helm]# tree myapp/
myapp/
├── charts
├── Chart.yaml
├── templates
│   ├── deployment.yaml
│   ├── _helpers.tpl
│   ├── ingress.yaml
│   ├── NOTES.txt
│   └── service.yaml
└── values.yaml

#可以自己修改每个文件里的值,然后做语法检查
[root@master helm]# helm lint myapp
==> Linting myapp
[INFO] Chart.yaml: icon is recommended

1 chart(s) linted, no failures

#打包
[root@master helm]# helm package myapp/
Successfully packaged chart and saved it to: /root/manifests/helm/myapp-0.0.1.tgz

[root@master helm]# ls |grep myapp
myapp
myapp-0.0.1.tgz

(2)启动本地仓库,并应用

[root@master helm]# helm repo list
NAME      URL                                             
stable    https://kubernetes-charts.storage.googleapis.com
local     http://127.0.0.1:8879/charts  

#启动本地仓库
[root@master helm]# helm serve 
Regenerating index. This may take a moment.
Now serving you on 127.0.0.1:8879

#查看,可见myapp已经自动保存在仓库中了
[root@master ~]# helm search myapp
NAME           CHART VERSION    APP VERSION    DESCRIPTION                            
local/myapp    0.0.1            1.0            A Helm chart for Kubernetes myapp chart

#如果定义的没问题,就可以部署了
[root@master ~]# helm install --name myapp1 local/myapp

#删除
[root@master ~]# helm delete --purge myapp1

 

三、EFK日志系统

(1)添加incubator源

[root@master ~]# helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/
"incubator" has been added to your repositories

[root@master ~]# helm repo list
NAME         URL                                                        

转载于:https://www.cnblogs.com/weiyiming007/p/10642375.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
通过docker compose可以一次性部署Elasticsearch、Filebeat和Kibana(EFK)。你需要使用以下镜像: - docker pull store/elastic/filebeat:7.6.2 - docker pull elasticsearch:7.6.2 - docker pull kibana:7.6.2 在docker compose文件中,你可以创建一个包含两个Elasticsearch节点的集群。其中一个节点(es01)监听本地主机的9200端口,另一个节点(es02)通过Docker网络与es01通信。为了保持数据的一致性,你可以将数据目录(data01和data02)挂载到Docker存储节点上。如果目录不存在,docker compose会在启动集群时自动创建它们(默认位置为/var/lib/docker/volumes/)。 在Filebeat和Kibana的配置中,你需要将Elasticsearch的主机地址改为集群中监听9200端口的es01节点。 以下是一个示例的docker compose文件部分内容(假设为filebeat.docker-compose.yml): ``` version: '3' services: elasticsearch: image: elasticsearch:7.6.2 ports: - 9200:9200 volumes: - data01:/path/to/data01 filebeat: image: store/elastic/filebeat:7.6.2 volumes: - /var/run/docker.sock:/var/run/docker.sock - /var/lib/docker/containers:/var/lib/docker/containers configs: - source: filebeat-config target: /usr/share/filebeat/filebeat.yml kibana: image: kibana:7.6.2 environment: - ELASTICSEARCH_HOSTS=es01:9200 ports: - 5601:5601 volumes: data01: configs: filebeat-config: file: ./filebeat.yml ``` 请注意,以上仅为示例,你可能需要根据实际情况进行调整。另外,为了解决一些常见问题,你可能需要确保正确设置了vm.max_map_count,并了解如何手动创建Kibana节点并加入集群。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值