(3)、service-mysql-for-apollo-dev-env.yaml
---# 为外部 mysql 服务设置 servicekind: ServiceapiVersion: v1metadata:namespace: zizainame: service-mysql-for-apollo-dev-envlabels:app: service-mysql-for-apollo-dev-envspec:ports:- protocol: TCPport: 3306targetPort: 3306type: ClusterIPsessionAffinity: None---kind: EndpointsapiVersion: v1metadata:namespace: zizainame: service-mysql-for-apollo-dev-envsubsets:- addresses:- ip: 10.29.254.48ports:- protocol: TCPport: 3306
3、添加Ingress
官网给的示例是用k8s的NodePort来访问,但是在实际中,我们用会用Ingress来访问Portal 。
注意:因为我们在部署portal的时候是多实例的,所以Ingress要添加保持会话,要不页面会登录不了,进入不了portal页面 。具体为:
metadata:annotations:Nginx.ingress.kubernetes.io/affinity: "cookie"# 解决会话保持nginx.ingress.kubernetes.io/session-cookie-name: "route"nginx.ingress.kubernetes.io/session-cookie-expires: "172800"nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"
ingress的代码示例为如下:
apiVersion: extensions/v1beta1kind: Ingressmetadata:name: zizai-apollo-portalnamespace: zizaiannotations:nginx.ingress.kubernetes.io/affinity: "cookie"# 解决会话保持nginx.ingress.kubernetes.io/session-cookie-name: "route"nginx.ingress.kubernetes.io/session-cookie-expires: "172800"nginx.ingress.kubernetes.io/session-cookie-max-age: "172800"spec:rules:- host: zizai-apollo-portal.test.thinkinpower.nethttp:paths:- path: /backend:serviceName: service-apollo-portal-serverservicePort: 8070
4、配置nginx
添加nginx访问到Ingress里:
nginx配置文件:zizai-apollo-portal.test.thinkinpower.net.conf
server {listen80;server_namezizai-apollo-portal.test.thinkinpower.net;access_log/data/logs/nginx/zizai-apollo-portal.test.thinkinpower.net.access.logmain;error_log/data/logs/nginx/zizai-apollo-portal.test.thinkinpower.net.error.log;root/data/webapps/zizai-apollo-portal.test.thinkinpower.net/test/static;indexindex.html index.htm;client_max_body_size 50m;location/ {proxy_set_header Host $http_host;proxy_set_header X-Real-IP $remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_pass http://kubernetes;# 指向集群的}}
【k8s部署高可用配置中心apollo-手动验证成功】这样就可以根据域名:http://zizai-apollo-portal.test.thinkinpower.net 访问portal了 。
(1)创建的部署:
文章插图
(2)创建的有部署副本:
文章插图
(3)创建的service:
文章插图
(4)创建的ingress:
文章插图
(5)创建的配置字典:
文章插图
三、简单使用本文章将只有简单的使用,后面会有文章介绍详细的使用,需要的可以在本文留言 。
1、创建项目
文章插图
2、选择一个环境添加变量timeout
文章插图
3、如果是在添加环境的过程中,刷新页面会有“添加补缺环境”的提示
文章插图
添加补缺环境
就这样实现了k8s部署高可能的apollo 。有建议的可以在评论区留言 。谢谢!
推荐阅读
- redis哨兵docker部署及springboot运行
- k8s之DNS服务器搭建
- 新手小白如何部署服务器,让你的个人电脑成为网站服务器
- 如何实现几百台SIP终端实现自动化部署
- 想实现高可用?先搞定负载均衡原理
- 小说系统,浩森系统程序部署教程
- CentOS7部署和设置GO
- Mysql:下载、安装、部署、修改密码步骤
- 花5分钟来总结下K8S原理
- 从零开始入门K8S| 从Spring Cloud到Kubernetes的微服务迁移实践