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

上海建设交通网站家具网站建设需求

上海建设交通网站,家具网站建设需求,玉树电子商务网站建设公司,12380网站建设意见前言 本文介绍如何在 Rocky Linux 9.5 上使用 ChartMuseum 搭建一个私有的 Helm Chart 仓库,并启用 HTTPS 和 Basic 认证以提高安全性 环境准备 一台Rocky Linux 9.5 x86_64, 作为Helm Repo, 安装Docker, 域名: myhelmrepo.comKubernetes 集群 v1.28.x, Helm v3.…

前言

本文介绍如何在 Rocky Linux 9.5 上使用 ChartMuseum 搭建一个私有的 Helm Chart 仓库,并启用 HTTPS 和 Basic 认证以提高安全性

环境准备

  • 一台Rocky Linux 9.5 x86_64, 作为Helm Repo, 安装Docker, 域名: myhelmrepo.com
  • Kubernetes 集群 v1.28.x, Helm v3.16.0

1. 安装并启动 ChartMuseum

(1) 启动 ChartMuseum 容器

docker run -d \--name private-helm-repo \-p 8080:8080 \--restart=always \-e STORAGE=local \-e STORAGE_LOCAL_ROOTDIR=/charts \-v /charts:/charts \--user root \swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/helm/chartmuseum:v0.16.2

(2) 验证 ChartMuseum 是否正常运行

curl http://myhelmrepo.com:8080/index.yaml

如果返回类似以下内容,则说明服务已成功启动:

apiVersion: v1
entries: {}
generated: "2025-03-23T07:32:46Z"
serverInfo: {}

2. 上传 Helm Chart 到仓库

(1) 上传 Chart
假设你有一个名为 flask-app-chart-0.1.0.tgz 的 Helm Chart,可以通过以下命令将其上传到仓库:

curl --data-binary "@flask-app-chart-0.1.0.tgz" http://myhelmrepo.com:8080/api/charts

如果返回以下内容,则表示上传成功:

{"saved":true}

(2) 验证上传结果
再次检查 index.yaml 文件以确认 Chart 成功添加

curl http://myhelmrepo.com:8080/index.yaml
apiVersion: v1
entries:flask-app-chart:- apiVersion: v2appVersion: "1.0"created: "2025-03-23T07:38:06.252423409Z"description: A Helm chart for deploying a simple Flask appdigest: c6ad11cf3c0b9c2068b5cb3502c8faabc700646b4a7fe9d1c3e779827658a474name: flask-app-charttype: applicationurls:- charts/flask-app-chart-0.1.0.tgzversion: 0.1.0
generated: "2025-03-23T07:38:06Z"
serverInfo: {}

3. 添加私有 Helm 仓库

(1) 添加私有仓库

helm repo add my-private-repo http://myhelmrepo.com:8080

更新仓库缓存:

helm repo update

如果返回以下内容,则表示仓库添加成功:

Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "my-private-repo" chart repository
Update Complete. ⎈Happy Helming!⎈

(2) 查看仓库列表

helm repo listNAME            URL
my-private-repo http://myhelmrepo.com:8080

(3) 查看仓库中的 Charts

helm search repo -l flaskNAME                            CHART VERSION   APP VERSION     DESCRIPTION
my-private-repo/flask-app-chart 0.1.0           1.0             A Helm chart for deploying a simple Flask app

4. 下载或安装 Chart

(1) 下载 Chart
下载刚才上传的 Chart:

helm pull my-private-repo/flask-app-chart

解压并查看内容:

tar -tvf flask-app-chart-0.1.0.tgz

(2) 安装 Chart
通过以下命令安装 Chart:

helm install flask-app my-private-repo/flask-app-chart --namespace flask-app

参数说明:

  • flask-app: 指定本次安装的 Release 名称。
  • my-private-repo/flask-app-chart: 指定 Chart 的完整路径。
  • –namespace flask-app: 指定安装的目标命名空间。

5. 启用 HTTPS 和 Basic 认证

为了提高安全性,在生产环境中需要启用 HTTPS 和 Basic 认证。

(1) 安装相关软件

yum install nginx httpd-tools -y

(2) 启用 Basic 认证
重新启动 ChartMuseum 容器并启用认证:

docker run -d \--name private-helm-repo \-p 127.0.0.1:8080:8080 \--restart=always \-e STORAGE=local \-e STORAGE_LOCAL_ROOTDIR=/charts \-v /charts:/charts \-e AUTH_ANONYMOUS_GET=false \-e BASIC_AUTH_USER=helmuser \-e BASIC_AUTH_PASS=123456 \--user root \swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/helm/chartmuseum:v0.16.2

测试认证是否生效:

# 不带认证访问
curl localhost:8080
# 返回 {"error":"unauthorized"}# 带认证访问
curl -u helmuser:123456 localhost:8080
# 返回 200 OK

(3) 启用 HTTPS
生成自签名证书, 创建目录并生成自签名 SANs 证书:

sudo mkdir -p /etc/nginx/ssl/myhelmrepo.com
cd /etc/nginx/ssl/myhelmrepo.com

创建 OpenSSL 配置文件(openssl.cnf):

[ req ]
default_bits       = 2048
distinguished_name = req_distinguished_name
req_extensions     = req_ext
prompt             = no[ req_distinguished_name ]
C  = CN
ST = State
L  = City
O  = Organization
OU = Organizational Unit
CN = myhelmrepo.com[ req_ext ]
subjectAltName = @alt_names[ alt_names ]
DNS.1 = myhelmrepo.com
DNS.2 = localhost
IP.1 = 127.0.0.1

生成证书和密钥:

openssl req -x509 -config openssl.cnf -extensions 'req_ext' -nodes -days 365 -newkey rsa:2048 \-keyout /etc/nginx/ssl/myhelmrepo.com/myhelmrepo.com.key \-out /etc/nginx/ssl/myhelmrepo.com/myhelmrepo.com.crt

编辑 Nginx 主配置文件(/etc/nginx/nginx.conf):

server {listen 443 ssl;server_name myhelmrepo.com;ssl_certificate /etc/nginx/ssl/myhelmrepo.com/myhelmrepo.com.crt;ssl_certificate_key /etc/nginx/ssl/myhelmrepo.com/myhelmrepo.com.key;location / {proxy_pass http://localhost:8080;proxy_set_header Host $host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Forwarded-Proto $scheme;}
}

重启 Nginx:

systemctl restart nginx

测试 HTTPS

curl https://myhelmrepo.com/index.yaml -k
# 返回 401 Authorization Requiredcurl -u helmuser:123456 https://myhelmrepo.com/index.yaml -k
# 返回 200 OK

(4) 配置 Helm 使用 HTTPS
由于使用的是自签名证书,Helm默认无法信任。将证书复制到本地并配置 Helm

mkdir -p ~/.helm/certs
scp root@myhelmrepo.com:/etc/nginx/ssl/myhelmrepo.com/myhelmrepo.com.crt ~/.helm/certs/

重新添加仓库:

helm repo rm my-private-repo
helm repo add my-private-repo https://myhelmrepo.com \--ca-file ~/.helm/certs/myhelmrepo.com.crt \--username helmuser \--password 123456

更新仓库缓存并查看Chart

helm repo update
helm search repo -l flask
NAME                            CHART VERSION   APP VERSION     DESCRIPTION
my-private-repo/flask-app-chart 0.1.0           1.0             A Helm chart for deploying a simple Flask app

安装Chart, 测试OK

helm install flask-app my-private-repo/flask-app-chart --namespace flask-app

参考

【1】https://chartmuseum.com/docs/

http://www.dtcms.com/wzjs/553035.html

相关文章:

  • 网站建设包含什么公司想做个网站应该怎么做
  • python 快速搭建网站网站上咱们做鱼饵
  • 罗田企业网站建设网站托管的好处
  • 网站建设项目延期验收申请报告网站制作公司套路
  • 响应式网站 开发wordpress 4.9.6 zh
  • 网站地址申请wordpress国外主题下载地址
  • 秦淮区建设局网站网页无法访问游戏
  • 建一个网站大约多少钱微信开放api
  • wordpress+网站白屏网上编程课的哪家好
  • 如何建设网站步骤wordpress 视频模版
  • 深圳找人做网站建立网站容量
  • 电子商务网站建设一般流程专业移动微网站设计
  • 中山市建设局网站网站平台建设设备清单
  • wap网站 什么意思门户网站建设基本情况
  • 优化好的网站做企业网站德阳市住房和城乡建设局网站首页
  • 如何在谷歌上做网站东华软件是外包公司吗
  • 提交网站收录入口西安专业建网站
  • 扬州恒通建设网站做网站的网站犯法吗
  • 个人外贸公司网站治多县网站建设公司
  • 返利导购网站建设需求文档廊坊小程序公司
  • 网站做浏览器兼容珠海的门户网站有哪些
  • 站外营销有哪几种主流方式网站制作公司哪儿济南兴田德润有活动吗
  • 网站开发项目策划营销型网站建设中坚站
  • 网站建设公司与维护怎么提升网站加载速度
  • 阿里云服务器网站开发网站建设与运营的论文的范本
  • 三种制作方式的比较seo黑帽技术工具
  • 做公司 网站建设价格低科技公司名字
  • 东莞倣网站服装网站设计
  • 温州网站推广模板做视频网站资源采集
  • ps ui做响应式网站要求郑州高校网站建设服务公司