文章目录
使用阿里云主机ECS,
四台主机信息如下:
server1 — 私网IP:10.0.0.2 ----公网IP: 47.108.54.185 ---- 搭建docker仓库harbor
server2 — 私网IP:10.0.0.3 ----公网IP: 47.108.144.231 ---- k8s集群主节点
server3 — 私网IP:10.0.0.4 ----公网IP: 47.108.115.206 ---- k8s集群节点
server4 — 私网IP:10.0.0.5 ----公网IP: 47.108.28.42 ---- k8s集群节点
hpa(HorizontalPodAutoscaler)
HorizontalPodAutoscaler (简称 HPA ) 自动更新工作负载资源(例如 Deployment 或者 StatefulSet), 目的是自动扩缩工作负载以满足需求。
参考: https://kubernetes.io/zh/docs/tasks/run-application/horizontal-pod-autoscale-walkthrough/
拉取hpa镜像,并上传至harbor
部署hpa
增加负载,测试hpa实例
在另一台主机上连接server2
查看官方文档,练习更多应用
helm
- Helm是kubernetes应用的包管理工具,主要来管理Charts,类似Linux系统的yum
- Helm Chart是用来封装Kubernetes原生应用程序的一系列YAML文件。可以在部署应用的时候自定义应用程序的一些Metadata,以便于应用程序的分发
- 对于应用发布者而言,可以通过Helm打包应用,管理应用依赖关系,管理应用版本并发布应用到软件仓库
- 对于使用者而言,使用Helm后不用编写复杂的应用部署文件,可以以简单的方式在Kubernetes上查找,安装,升级,回滚,卸载应用程序
查看官方文档
使用helm添加、删除第三方chart库
添加微软的第三方库:helm repo add stable http://mirror.azure.cn/kubernetes/charts/
列出第三方库:helm repo list
从官方库搜索charts:helm search hub nginx
从第三方库搜索:helm search repo nginx
列出部署的应用:helm list
查看应用的状态:helm status webserver
升级应用:helm upgrade webserver
helm部署redis
拉取redis镜像并上传harbor
helm部署redis
server2上:
vim values.yaml
helm部署mychart,并上传至harbor
建立本地chart库
将harbor仓库的证书拷贝到server2
安装helm-push插件
部署mychart应用到k8s集群
mychart更新