实时警报通知:微信告警通知的重要性解析
702
2022-11-04
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
发表评论
暂时没有评论,来抢沙发吧~