记一次kubernetes测试环境搭建(heapster,helm,nginx-ingress-controller,glusterfs heketi,ceph,harbor,registry,my)

发布一个k8s部署视频:https://edu.youkuaiyun.com/course/detail/26967

课程内容:各种k8s部署方式。包括minikube部署,kubeadm部署,kubeasz部署,rancher部署,k3s部署。包括开发测试环境部署k8s,和生产环境部署k8s。

第三个视频发布:https://edu.youkuaiyun.com/course/detail/27574

详细介绍helm命令,学习helm chart语法,编写helm chart。深入分析各项目源码,学习编写helm插件

————————————————

第一步:安装kubernetes集群

https://blog.youkuaiyun.com/hxpjava1/article/details/86831125

参考:https://blog.youkuaiyun.com/hxpjava1/article/details/79309825

https://blog.youkuaiyun.com/hxpjava1/article/details/79752256

https://blog.youkuaiyun.com/hxpjava1/article/details/79465983

https://blog.youkuaiyun.com/john_f_lau/article/details/78249980

https://blog.youkuaiyun.com/hxpjava1/article/details/80508251

安装内容k8s集群,dashboard

第二步安装heapster

https://blog.youkuaiyun.com/hxpjava1/article/details/79465983

https://github.com/kubernetes/heapster/releases

第三步安装helm

https://blog.youkuaiyun.com/hxpjava1/article/details/79664983

https://github.com/kubernetes/helm/releases

第四步安装nginx-ingress-controller

https://github.com/kubernetes/ingress-nginx

https://github.com/kubernetes/charts/tree/master/stable/nginx-ingress

keepalived

https://blog.youkuaiyun.com/hxpjava1/article/details/79789400

不用nginx ingress controller可以试试traefik

第五步安装glusterfs heketi

heketi/heketi:5使用这个镜像,不然可能报错

先下载好镜像,不然会重复多次

https://github.com/gluster/gluster-kubernetes

https://github.com/gluster/gluster-kubernetes/blob/master/docs/setup-guide.md

自动加载内核模块

https://blog.youkuaiyun.com/hxpjava1/article/details/79703609

 

如果glusterfs装不上可以改用ceph

安装rook

https://blog.youkuaiyun.com/hxpjava1/article/details/80175238

https://github.com/rook/rook/tree/master/cluster/examples/kubernetes

第六步安装harbor

https://github.com/vasartori/harbor-kubernetes

registry也可以用docker官方的registry

https://blog.youkuaiyun.com/hxpjava1/article/details/80180033

harbor装不了可以安装官方registry

https://blog.youkuaiyun.com/hxpjava1/article/details/78278715

https://blog.youkuaiyun.com/hxpjava1/article/details/73744337

https://blog.youkuaiyun.com/hxpjava1/article/details/80505485

从私有仓库获取镜像

https://blog.youkuaiyun.com/hxpjava1/article/details/80318438

第七步安装mysql集群

https://github.com/13567436138/kubernetes-yamls/tree/master/mysql-cluster/pxc/percona-xtradb-cluster

https://blog.youkuaiyun.com/hxpjava1/article/details/80522201

第七。1安装postgresql

 

第八部安装zookeeper集群

https://github.com/kubernetes/charts/tree/master/incubator/zookeeper

 

helm repo add incubator https://kubernetes-charts-incubator.storage.googleapis.com/

helm search zookeeper 

helm install --name zookeeper-cluster .

第九步安装redis集群

https://github.com/kubernetes/charts/tree/master/stable/redis-ha

第10部安装微服务

https://github.com/13567436138/kubernetes-yamls/tree/master/youben/dev/app_withlog

第11步安装自定义dns

https://blog.youkuaiyun.com/hxpjava1/article/details/80310521

第12步安装elasticsearch集群

https://github.com/kubernetes/charts/tree/master/incubator/elasticsearch

第13步编写安装升级测试脚本

第14步安装fabric8

15安装elk

https://github.com/13567436138/kubernetes-yamls/tree/master/elk/official

https://blog.youkuaiyun.com/hxpjava1/article/details/80362585

https://blog.youkuaiyun.com/hxpjava1/article/details/80362621

16安装prometheus

helm search prometheus

helm fetch stable/prometheus

helm install --name prometheus --namespace monitor .

https://github.com/13567436138/kubernetes-yamls/tree/master/prometheus/helm

https://blog.youkuaiyun.com/hxpjava1/article/details/80450138

https://blog.youkuaiyun.com/hxpjava1/article/details/80450394

https://blog.youkuaiyun.com/hxpjava1/article/details/80419365

<think>好的,用户想了解如何使用Helm部署Nginx Ingress控制器的最佳实践。我需要根据提供的引用内容整理出步骤,并确保符合系统级指令的要求。首先,我需要确认用户提供的引用中有哪些关键步骤。 引用[1]提到了添加边缘版本的仓库,引用[2]和[3]提到了使用不同的仓库地址,比如stable和kubernetes官方的。现在可能stable仓库已经不再维护,所以需要确认最新的来源。引用[3]和[4]中的步骤更详细,包括添加官方仓库、创建命名空间、更新仓库、获取values文件并自定义配置,然后安装。这些步骤看起来比较全面,应该作为主要参考。 接下来要分步骤整理,确保每个步骤的命令正确,并且使用正确的格式。注意用户需要最佳实践,所以可能需要建议使用官方仓库而非边缘或旧的stable仓库。同时,是否需要指定版本?引用[4]中提到了指定版本4.4.0,可能推荐用户检查最新版本,但也可以提到指定版本以确保稳定性。 另外,用户可能需要了解如何自定义配置,比如修改values文件中的参数,例如副本数、资源限制等。引用[3]提到了导出values文件并修改,这是常见的做法,应该包含进去。验证安装的部分需要包括如何检查Pod状态和获取服务IP,这部分在Kubernetes部署中很重要。 还需要注意Helm3和Helm2的命令是否有差异,但根据引用中的命令,似乎都是Helm3的语法,比如helm install不需要--name参数。同时,是否需要RBAC?引用[2]中提到了--set rbac.create=true,但引用[3]和[4]没有特别说明,可能取决于集群的配置,可能需要建议根据环境开启。 最后,生成相关问题,需要围绕部署步骤、配置优化、版本选择、故障排查等方面提问。确保问题相关且有帮助。 现在,按照系统指令,回答结构要清晰,步骤分点,代码块用正确的格式,行内公式用$...$,独立公式用$$...$$,但这里可能用不上数学公式。引用标识要放在引用内容的末尾,比如[^3]等。检查LaTeX语法是否正确,虽然问题中可能不需要太多数学表达式,但如果有变量或代码,要正确使用格式。 总结步骤应该是:添加仓库、更新、创建命名空间、获取values并配置、安装。验证步骤包括kubectl检查。最佳实践建议使用官方仓库、自定义配置、版本选择、命名空间隔离。可能还要提到持久化配置或者TLS设置,但引用中没有提到,可能需要忽略或简单提及参考文档。 现在组织这些内容,确保符合用户的要求,并且引用正确。例如,在添加仓库时引用[3],安装步骤引用[3]和[4]。同时,注意用户可能对Helm不熟悉,所以命令要准确,并解释每个步骤的作用。</think>### 如何使用 Helm 部署 Nginx Ingress 控制器(最佳实践) #### **步骤 1:添加官方 Helm 仓库** ```bash helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx helm repo update # 更新仓库以获取最新版本[^3] ``` #### **步骤 2:创建专用命名空间** ```bash kubectl create namespace ingress-nginx # 隔离资源,便于管理[^3] ``` #### **步骤 3:选择版本并获取默认配置** ```bash helm search repo ingress-nginx # 查看可用版本[^4] helm show values ingress-nginx/ingress-nginx > ingress-nginx-values.yaml # 导出默认配置[^3] ``` - 建议选择与集群兼容的最新稳定版本,例如 `4.4.0`[^4]。 #### **步骤 4:自定义配置(按需修改)** 编辑 `ingress-nginx-values.yaml`,常见优化项: ```yaml controller: replicaCount: 2 # 根据节点数量调整副本数 resources: requests: cpu: 100m memory: 256Mi service: type: LoadBalancer # 云环境建议使用LoadBalancer类型[^3] ``` #### **步骤 5:安装 Ingress 控制器** ```bash helm install nginx-ing ingress-nginx/ingress-nginx \ --namespace ingress-nginx \ --version 4.4.0 \ -f ingress-nginx-values.yaml # 指定自定义配置[^4] ``` #### **步骤 6:验证部署** ```bash kubectl get pods -n ingress-nginx # 检查Pod状态是否为Running kubectl get svc -n ingress-nginx # 获取外部访问IP/端口[^3] ``` --- ### **最佳实践建议** 1. **版本选择** - 通过 `helm search repo ingress-nginx` 确认兼容版本,避免使用过时版本导致功能缺失[^4]。 2. **配置优化** - 启用 `rbac.create=true`(若集群启用RBAC)[^2]。 - 生产环境建议设置资源限制(`resources`)和亲和性策略[^3]。 3. **高可用性** - 设置 `replicaCount≥2` 并分散到不同节点。 4. **命名空间隔离** - 独立命名空间(如 `ingress-nginx`)避免资源冲突。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

hxpjava1

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值