文章

helm安装

1. 安装

获取 下载地址

Image

1
2
3
4
找到自己的系统版本
wget https://get.helm.sh/helm-v3.6.3-linux-amd64.tar.gz
tar -zxvf helm-v3.6.3-linux-amd64.tar.gz
cp linux-amd64/helm /usr/local/bin/helm

2. 环境依赖

注意: helm 安装前需要配置 kubeconfig文件: ~/.kube/config

3. 终端补全

1
2
3
4
5
6
临时
source <(helm completion bash)

永久:
echo 'source <(helm completion bash)' >> ~/.bashrc
source ~/.bashrc

4. 添加常用源

1
2
3
4
helm repo add stable https://kubernetes-charts.storage.googleapis.com
helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com  
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add aliyuncs https://apphub.aliyuncs.com

5. 搭建helm私有源

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
chartmuseum
1. 二进制部署
curl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/linux/amd64/chartmuseumchmod 777 chartmuseummv chartmuseum /usr/local/bin

#服务器启动
cat /etc/systemd/system/chartmuseum.service
[Unit]
Description=chartmuseum
Requires=network-online.targetAfter=network-online.target

[Service]
EnvironmentFile=/etc/chartmuseum/chartmuseum.config
User=rootRestart=allways
ExecStart=/usr/local/bin/chartmuseum $ARGS
ExecStop=/usr/local/bin/chartmuseum step-down

[Install]
WantedBy=multi-user.target

#创建配置文件
cat /etc/chartmuseum/chartmuseum.config
ARGS=
--port=88 
--storage="local" 
--storage-local-rootdir="/www/chartmuseum/" 
--log-json 
--basic-auth-user=meitu 
--basic-auth-pass="********"

2. docker部署
docker pull chartmuseum/chartmuseum:latest

mkdir /data/helm/chartmuseum

docker run --rm -it -p 8081:8080 -v /data/helm/chartmuseum:/charts -e DEBUG=true -e STORAGE=local -e STORAGE_LOCAL_ROOTDIR=/charts chartmuseum/chartmuseum:latest

helm repo add my-chartmuseum-repo http://my-chartmuseum-repo-url --username meitu --password ********"my-chartmuseum-repo" has been added to your repositories

3.docker-compose 部署
version: "3.8"

services:
    helm:
      networks:
        default:
      hostname: helm
      container_name: self-helm
      restart: always
      image: chartmuseum/chartmuseum:latest

      ports:
        - "8081:8080"
      volumes:
        - /data/helm/chartmuseum:/charts
      environment:
        DEBUG: "true"
        STORAGE: "local"
        STORAGE_LOCAL_ROOTDIR: "/charts"

问题处理

1
2
3
4
5
6
WARNING: Kubernetes configuration file is group-readable. This is insecure. Location: /root/.kube/config

原因: kube config 文件其他用户可访问 

解决:修改权限即可:
chmod 600 ~/.kube/config
本文由作者按照 CC BY 4.0 进行授权