kubernetes
  • Introduction
  • 安装
    • 组件端口
    • 二进制安装
    • Kubeadm
      • 安装单Master集群
      • 安装高可用集群(手动分发证书)
      • 安装高可用集群(自动上传证书)
      • 安装ETCD集群
      • 安装高可用集群(外部ETCD)
    • 启动参数解析
      • ETCD相关参数
  • 负载均衡
    • Service
    • Ingress
    • 安装MetalLB
    • Nginx-ingress-controller
      • 转发TCP与UDP服务
      • 启动参数
      • 自定义Nginx模板
  • 存储
    • Volume
    • PV与PVC
    • StorageClass
    • Local-PV
      • Static-Provisioner
    • 实践
      • Ceph-RBD
      • NFS
  • 有状态服务
    • Mysql实践
    • Operator
      • Etcd
      • Zookeeper
      • Mysql
  • 认证与授权
    • 认证
      • 实践
    • 授权
  • Helm
    • 安装
    • Chart
      • 依赖
    • Helm命令
    • Repository
  • 日志
  • 监控
    • Prometheus体系
      • Prometheus
        • 内置函数
        • 配置
          • 规则文件
        • PromQL
      • Exporter
        • Metrics
      • Grafana
        • 配置
      • AlertManager
        • 配置
    • 容器监控
      • Cadvisor的指标
      • k8s中部署Prom与Cadvisor
  • Istio
  • 资源预留
    • imagefs与nodefs
    • 总结
  • 集群联邦
    • 联邦DNS原理
    • 联邦DNS安装
    • 安装federation-v1
  • Other
    • ImagePullSecret
    • QOS
    • Apiserver的代理
    • 资源配额
Powered by GitBook
On this page
  • 使用Helm
  • 使用httpd

Was this helpful?

  1. Helm

Repository

repository就是一个http服务。以阿里的repository为例,它的URL为https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts,那么这个repository的chart索引文件的URL就为https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts/index.yaml,下载后我们可以用记事本打开它,里面记录了该repository中所有chart的元数据。文件结构如下(只展示了部分内容):

上面的部分内容可以看到,这个repository里有etcd-operator,并且有0.7.0与0.5.0两个版本,而且还给出了这两个版本的下载URL,分别为https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts/etcd-operator-0.7.0.tgz与https://kubernetes.oss-cn-hangzhou.aliyuncs.com/charts/etcd-operator-0.5.0.tgz。

所以,如果我们知道一个repository的URL,可以直接通过wget <URL>/index.yaml下载其索引文件,并且直接通过wget <URL>/<chart>-<version>.tgz来下载指定版本的chart。比如google repository的URL为https://kubernetes-charts.storage.googleapis.com,那么索引文件链接为https://kubernetes-charts.storage.googleapis.com/index.yaml,chart的链接为https://kubernetes-charts.storage.googleapis.com/<chart>-<version>.tgz

接下来将介绍如何搭建一个私有的repository。一种是使用helm,另一种是使用httpd。

假设我们规划的repository的URL为http://x.x.x.x:8050/charts,chart放在主机的/var/www/html/charts/目录下。

使用Helm

首先安装好Helm客户端,然后执行以下的命令:

$ helm serve --address=0.0.0.0:8050 --repo-path=/var/www/html/charts --url http://x.x.x.x:8050/charts &

然后把chart的tgz包拷贝到/var/www/html/charts目录下即可

使用httpd

首先安装好httpd,rootdir设置为/var/www/html,监听端口为8050。

接下来我们也需要安装Helm客户端。然后,我们把chart的tgz包拷贝到/var/www/html/charts/目录下,然后执行命令:

$ helm repo index /var/www/html/charts

此时,会在/var/www/html/charts目录下生成一个index.yaml文件,然后就OK了。

如果有新的chart包加进来,重新执行一次上述的命令即可。

PreviousHelm命令Next日志

Last updated 5 years ago

Was this helpful?