当前位置: 首页 > news >正文

Kubernetes rancher、prometheus、ELK的安装

目录

  • 一、rancher的安装
    • 1. 添加 Helm Chart 仓库
    • 2. 为 Rancher 创建命名空间
    • 3. 选择 SSL 配置
    • 4. 安装 cert-manager
  • 二、prometheus安装
  • 三、EFK安装
    • 3.1安装elasticsearch
    • 3.2安装filebeat
    • 3.3安装kibana

一、rancher的安装

有关rancher的安装其实官方网站给的步骤已经很详细了,可以直接按照步骤安装即可。

1. 添加 Helm Chart 仓库

执行 helm repo add 命令,以添加包含安装 Rancher 的 Chart 的 Helm Chart 仓库。

官方推荐的是 Stable:建议用于生产环境

helm repo add rancher-stable https://releases.rancher.com/server-charts/stable

2. 为 Rancher 创建命名空间

kubectl create namespace cattle-system

3. 选择 SSL 配置

默认是使用下面方式,当然你自己已有证书的情况还是配置为已有证书。
Rancher 生成的 TLS 证书:要求你在集群中安装 cert-manager。Rancher 使用 cert-manager 签发并维护证书。Rancher 会生成自己的 CA 证书,并使用该 CA 签署证书。然后 cert-manager负责管理该证书。

配置Helm Chart 选项是否需要 cert-manager
Rancher 生成的证书(默认)ingress.tls.source=rancher
Let’s Encryptingress.tls.source=letsEncrypt
你已有的证书ingress.tls.source=secret

4. 安装 cert-manager

使用你使用自己的证书文件跳过这步

#如果你手动安装了CRD,而不是在 Helm 安装命令中添加了 `--set installCRDs=true` 选项,你应该在升级 Helm Chart 之前升级 CRD 资源。
kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/<VERSION>/cert-manager.crds.yaml#添加 Jetstack Helm 仓库
helm repo add jetstack https://charts.jetstack.io#更新本地 Helm Chart 仓库缓存
helm repo update#安装 cert-manager Helm Chart
helm install cert-manager jetstack/cert-manager \--namespace cert-manager \--create-namespace

这一步如果出现证书错误的提示话,可以用别的机器可添加的环境进行添加,然后下载下来进行离线安装

helm repo add jetstack https://charts.jetstack.io
helm fetch rancher jetstack/cert-managerhelm install rancher cert-manager-v1.13.2.tgz \
--namespace cattle-system \
--set hostname=rancher.my.org \
--set bootstrapPassword=admin

如果没有域名的话,创建一个nodeport,外部可以访问。

apiVersion: v1
kind: Service
metadata:name: zxhy-ranchernamespace: cattle-system
spec:type: NodePort         # 配置为NodePort,外部可以访问ports:- name: httpport: 80protocol: TCPtargetPort: 80- name: https-internalport: 443protocol: TCPtargetPort: 444nodePort: 31500 #容器暴露的端口,与Dockerfile暴露端口保持一致selector:app: rancher

ip:31500 就可以访问到rancher了。

二、prometheus安装

git clone https://github.com/coreos/kube-prometheus.git
cd ./kube-prometheus/manifests
#可以修改grafana-service.yaml、alertmanager-service.yaml、prometheus-service.yaml
#把他们改成nodeport的方式进行服务暴露,端口自行设置#开始安装
kubectl apply --server-side -f manifests/setup
kubectl wait --for condition=Established --all CustomResourceDefinition --namespace=monitoring
kubectl apply -f manifests/

容器默认的镜像仓库从 k8s.gcr.io 迁移到了 registry.k8s.io
目前两个镜像仓库都是可用的,未来会逐渐迁移到后者。国内用户可以尝试镜像的同步地址 k8s.m.daocloud.io (旧地址 k8s-gcr.m.daocloud.io)。使用 kubeadm 安装的用户可以使用 kubeadm init --image-repository=k8s.m.daocloud.io 创建新集群。

三、EFK安装

3.1安装elasticsearch

kubectl create namespace efk
helm install els --namespace=efk bitnami/elasticsearch

3.2安装filebeat

#  之前使用的是fluentd-elasticsearch,也写个安装方式
#helm install flu --namespace=efk stable/fluentd-elasticsearch  --set elasticsearch.host=els-#elasticsearch.efk.svc.cluster.local#下载yaml文件
curl -L -O https://raw.githubusercontent.com/elastic/beats/8.10/deploy/kubernetes/filebeat-kubernetes.yaml#修改下面的默认参数
- name: ELASTICSEARCH_HOSTvalue: els-elasticsearch.efk.svc.cluster.local
- name: ELASTICSEARCH_PORTvalue: "9200"
- name: ELASTICSEARCH_USERNAMEvalue: elastic
- name: ELASTICSEARCH_PASSWORDvalue: changeme
#启动
kubectl create -f filebeat-kubernetes.yaml

3.3安装kibana

helm install kibana --namespace=efk bitnami/kibana \--set elasticsearch.hosts[0]=els-elasticsearch.efk.svc.cluster.local \--set elasticsearch.port=9200 \

最后附上国内的镜像替换站点
国内镜像替换
k8s.gcr.io --> lank8s.cn
gcr.io --> gcr.lank8s.cn

相关文章:

  • flink状态和检查点
  • Xcode15 framework ‘CoreAudioTypes‘ not found
  • OTP语音 NV040C芯片在智能闹钟的应用
  • Mac安装opencvJava踩坑
  • VS Code Counter统计代码量(vscode扩展工具)
  • linux开机自动挂载目录
  • 怎么学编程效率高,编程练习网站编程软件下载,中文编程开发语言工具下载
  • 高防IP的原理
  • 〔001〕虚幻 UE5 安装教程
  • libwebsockets入门
  • 02|LangChain | 从入门到实战 -六大组件之Models IO
  • C++入门学习(1)命名空间和输入输出
  • 数据结构(c语言版) 队列
  • Docker从入门到上天系列第二篇:传统虚拟机和容器的对比以及Docker的作用以及所解决的问题
  • 《代码整洁之道》读书笔记(一)
  • 2018一半小结一波
  • gf框架之分页模块(五) - 自定义分页
  • IP路由与转发
  • Java|序列化异常StreamCorruptedException的解决方法
  • Java知识点总结(JDBC-连接步骤及CRUD)
  • js数组之filter
  • leetcode378. Kth Smallest Element in a Sorted Matrix
  • maya建模与骨骼动画快速实现人工鱼
  • mysql外键的使用
  • pdf文件如何在线转换为jpg图片
  • Phpstorm怎样批量删除空行?
  • Python打包系统简单入门
  • SpriteKit 技巧之添加背景图片
  • ucore操作系统实验笔记 - 重新理解中断
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 事件委托的小应用
  • 通过获取异步加载JS文件进度实现一个canvas环形loading图
  • 掌握面试——弹出框的实现(一道题中包含布局/js设计模式)
  • 自动记录MySQL慢查询快照脚本
  • Java总结 - String - 这篇请使劲喷我
  • shell使用lftp连接ftp和sftp,并可以指定私钥
  • #13 yum、编译安装与sed命令的使用
  • #NOIP 2014#day.2 T1 无限网络发射器选址
  • #pragma multi_compile #pragma shader_feature
  • (1)虚拟机的安装与使用,linux系统安装
  • (附源码)spring boot火车票售卖系统 毕业设计 211004
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (已解决)vue+element-ui实现个人中心,仿照原神
  • ... fatal error LINK1120:1个无法解析的外部命令 的解决办法
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .NET Framework 和 .NET Core 在默认情况下垃圾回收(GC)机制的不同(局部变量部分)
  • .NET 简介:跨平台、开源、高性能的开发平台
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .NET/C# 编译期间能确定的相同字符串,在运行期间是相同的实例
  • .NET处理HTTP请求
  • .Net环境下的缓存技术介绍
  • /dev下添加设备节点的方法步骤(通过device_create)
  • @EventListener注解使用说明
  • @Validated和@Valid校验参数区别
  • @取消转义