Helm的使用

网友投稿 702 2022-11-04

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Helm的使用

Helm的使用

Helm 是 Kubernetes 的包管理器,从CNCF毕业。

官方文档[1]

helm hub[2]

镜像源私有化

将外部镜像产物拉到私有环境缓存起来

#!/bin/bash## example#  pull_image_to_local.sh kubernetesui/metrics-scraper:v1.0.7#  pull_image_to_local.sh registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:v1.1.0#  pull_image_to_local.sh nginx:1.21.4 third## explain#  docker pull kubernetesui/metrics-scraper:v1.0.7#  docker tag kubernetesui/metrics-scraper:v1.0.7 hub.8ops.top/google_containers/metrics-scraper:v1.0.7#  docker push hub.8ops.top/google_containers/metrics-scraper:v1.0.7#  docker rmi kubernetesui/metrics-scraper:v1.0.7#  docker rmi hub.8ops.top/google_containers/metrics-scraper:v1.0.7#set -esrc=$1dst=$2harbor=hub.8ops.top[ -z $dst ] && dst=google_containersdocker pull ${src}docker tag ${src} `echo ${src} |awk -v harbor=${harbor} -v dst=${dst} -F'/' '{printf("%s/%s/%s",harbor,dst,$NF)}'`docker push `echo ${src} |awk -v harbor=${harbor} -v dst=${dst} -F'/' '{printf("%s/%s/%s",harbor,dst,$NF)}'`docker rmi ${src}docker rmi `echo ${src} |awk -v harbor=${harbor} -v dst=${dst} -F'/' '{printf("%s/%s/%s",harbor,dst,$NF)}'`

下载[3]

优化源

生成缓存文件所在目录,必要时清空

•~/.config/helm•~/.cache/helm

常用源

# helm repo listNAME                               URLazure                              https://mirror.azure.cn/kubernetes/chartsaliyun                             https://kubernetes.oss-cn-hangzhou.aliyuncs.com/chartselastic                            https://helm.elastic.cogitlab                             https://charts.gitlab.ioharbor                             https://helm.goharbor.iobitnami                            https://charts.bitnami.com/bitnamiincubator                          https://kubernetes-charts-incubator.storage.googleapis.comgoogle                             https://kubernetes-charts.storage.googleapis.comingress-nginx           https://kubernetes.github.io/ingress-nginxkubernetes-dashboard    https://kubernetes.github.io/dashboard/

推荐使用azure和aliyun

Ingress-nginx

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginxhelm repo updatehelm search repo ingress-nginxhelm show values ingress-nginx/ingress-nginx > ingress-nginx.yaml-default# vim ingress-nginx-external.yaml# deprecated# 若不FW需要变更 ~/.cache/helm/repository/ingress-nginx-index.yaml 从私有文件站下载## sed -i 's#https://github.com/kubernetes/ingress-nginx/releases/download/helm-chart-4.0.13/ingress-nginx-4.0.13.tgz#http://d.8ops.top/ops/helm/ingress-nginx-4.0.13.tgz#' ~/.cache/helm/repository/ingress-nginx-index.yamlkubectl label no k-kube-lab-04 edge=externalhelm install ingress-nginx-external-controller ingress-nginx/ingress-nginx \    -f ingress-nginx-external.yaml \    -n kube-server \    --create-namespace \    --version 4.0.13 --debugkubectl label no k-kube-lab-05 edge=internalhelm install ingress-nginx-internal-controller ingress-nginx/ingress-nginx \    -f ingress-nginx-internal.yaml \    -n kube-server \    --version 4.0.13 --debughelm list -A# upgradehelm upgrade ingress-nginx-external-controller ingress-nginx/ingress-nginx \    -f ingress-nginx-external.yaml \    -n kube-server \    --version 4.0.13 --debughelm upgrade ingress-nginx-internal-controller ingress-nginx/ingress-nginx \    -f ingress-nginx-internal.yaml \    -n kube-server \    --version 4.0.13 --debug# uninstall     helm -n kube-server uninstall ingress-nginx-external-controller

vim ingress-nginx-external.yaml

controller:  name: external  image:    registry: hub.8ops.top    image: google_containers/nginx-ingress-controller    tag: "v1.1.0"    digest:  hostNetwork: true  hostPort:    enabled: true    ports:      http: 80      https: 443  config: {} # nginx.conf 全局配置  ingressClassResource:    name: external    enabled: true    default: false    controllerValue: "k8s.io/ingress-nginx" # 这里的nginx是缺省的ingress-class  resources:    limits:      cpu: 500m      memory: 1Gi    requests:      cpu: 200m      memory: 256Mi  kind: DaemonSet  nodeSelector:    kubernetes.io/os: linux    edge: external  service:    enabled: false  lifecycle:  admissionWebhooks:    enabled: false

ingress-nginx

Dashboard

helm repo add kubernetes-dashboard https://kubernetes.github.io/dashboard/helm repo updatehelm search repo kubernetes-dashboardhelm show values kubernetes-dashboard/kubernetes-dashboard > kubernetes-dashboard.yaml-default# vim kubernetes-dashboard.yaml# deprecated# 若不FW需要变更 ~/.cache/helm/repository/kubernetes-dashboard-index.yaml 从私有文件站下载## sed -i 's#kubernetes-dashboard-5.0.4.tgz#http://d.8ops.top/ops/helm/kubernetes-dashboard-5.0.4.tgz#' ~/.cache/helm/repository/kubernetes-dashboard-index.yamlhelm install kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard \    -f kubernetes-dashboard.yaml \    -n kube-server \    --create-namespace \    --version 5.0.4 --debughelm upgrade kubernetes-dashboard kubernetes-dashboard/kubernetes-dashboard \    -f kubernetes-dashboard.yaml \    -n kube-server \    --version 5.0.4 --debug#-----------------------------------------------------------# create sakubectl create serviceaccount dashboard-admin -n kube-server# binding cluster-adminkubectl create clusterrolebinding dashboard-admin \  --clusterrole=cluster-admin \  --serviceaccount=kube-server:dashboard-admin# output tokenkubectl describe secrets \  -n kube-server $(kubectl -n kube-server get secret | awk '/dashboard-admin/{print $1}')

vim kubernetes-dashboard.yaml

image:  repository: hub.8ops.top/google_containers/dashboard  tag: v2.4.0resources:  requests:    cpu: 200m    memory: 256Mi  limits:    cpu: 1    memory: 512Miingress:  enabled: true  annotations:    nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"  className: "external"  hosts:    - dashboard.8ops.top  tls:    - secretName: tls-8ops.top      hosts:        - dashboard.8ops.topextraArgs:   - --token-ttl=86400settings:  clusterName: "Dashboard of Lab"  itemsPerPage: 20  labelsLimit: 3  logsAutoRefreshTimeInterval: 10  resourceAutoRefreshTimeInterval: 10metricsScraper:  enabled: true  image:    repository: hub.8ops.top/google_containers/metrics-scraper    tag: v1.0.7  resources:    requests:      cpu: 100m      memory: 128Mi    limits:      cpu: 100m      memory: 128Mimetrics-server:  enabled: true  image:    repository: hub.8ops.top/google_containers/metrics-server    tag: v0.5.0  resources:    requests:      cpu: 100m      memory: 128Mi    limits:      cpu: 100m      memory: 128Mi  args:    - --kubelet-preferred-address-types=InternalIP    - --kubelet-insecure-tls

dashboard

dashboard

引用链接

[1] 官方文档: https://helm.sh/zh/docs/[2] helm hub: https://artifacthub.io/[3] 下载: https://books.8ops.top/attachment/kubernetes/02-pull-image-to-local.sh

上一篇:软件测试培训之测试管理方案
下一篇:软件测试培训之测试种类
相关文章

 发表评论

暂时没有评论,来抢沙发吧~