• Kubernetes rancher、prometheus、ELK的安装


    一、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
    
    • 1

    2. 为 Rancher 创建命名空间

    kubectl create namespace cattle-system
    
    • 1

    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
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13

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

    helm repo add jetstack https://charts.jetstack.io
    helm fetch rancher jetstack/cert-manager
    
    helm install rancher cert-manager-v1.13.2.tgz \
    --namespace cattle-system \
    --set hostname=rancher.my.org \
    --set bootstrapPassword=admin
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

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

    apiVersion: v1
    kind: Service
    metadata:
     name: zxhy-rancher
     namespace: cattle-system
    spec:
     type: NodePort         # 配置为NodePort,外部可以访问
     ports:
     - name: http
       port: 80
       protocol: TCP
       targetPort: 80
     - name: https-internal
       port: 443
       protocol: TCP
       targetPort: 444
        nodePort: 31500 #容器暴露的端口,与Dockerfile暴露端口保持一致
     selector:
      app: rancher
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19

    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/
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    容器默认的镜像仓库从 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
    
    • 1
    • 2

    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_HOST
      value: els-elasticsearch.efk.svc.cluster.local
    - name: ELASTICSEARCH_PORT
      value: "9200"
    - name: ELASTICSEARCH_USERNAME
      value: elastic
    - name: ELASTICSEARCH_PASSWORD
      value: changeme
    #启动
    kubectl create -f filebeat-kubernetes.yaml
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17

    3.3安装kibana

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

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

  • 相关阅读:
    计算机毕业设计Java海康物流(源码+系统+mysql数据库+lw文档)
    【python】--python环境安装及配置
    HTTP 415错误状态码
    .Net面试经验总结
    深度学习????????
    如何快速生成项目目录结构树?
    HarmonyOS开发环境搭建
    HDLbits exercises 3 (procedures节选题)
    Windows风格的个人网盘,支持文档在线编辑
    C++ 关联式容器map+set
  • 原文地址:https://blog.csdn.net/holybird0213/article/details/134175658