Python 官方文档:入门教程 => 点击学习
在前面几篇文章中,已经讲到了前后端分离架构和ingress,链接如下:https://www.cnblogs.com/xiao987334176/p/12195722.htmlHttps://www.cnblogs.com/xiao9873
在前面几篇文章中,已经讲到了前后端分离架构和ingress,链接如下:
https://www.cnblogs.com/xiao987334176/p/12195722.html
Https://www.cnblogs.com/xiao987334176/p/12195797.html
接下来使用k8s进行发布应用
k8s集群
系统 | Docker | ip | 主机名 | 配置 |
---|---|---|---|---|
Centos 7.6 | 19.03.5 | 192.168.31.150 | k8s-master | 2核4G |
centos 7.6 | 19.03.5 | 192.168.31.178 | k8s-node01 | 2核4G |
centos 7.6 | 19.03.5 | 192.168.31.164 | k8s-node02 | 2核4G |
harbor
系统 | docker | docker-compose | harbor | ip | 主机名 | 配置 |
---|---|---|---|---|---|---|
centos 7.6 | 19.03.5 | 1.24.1 | 1.8.0 | 192.168.31.37 | harbor | 2核4G |
关于k8s搭建,请参考链接:
https://www.cnblogs.com/xiao987334176/p/11899321.html
关于harbor搭建,请参考链接:
https://www.cnblogs.com/xiao987334176/p/11326467.html
在前面2.0的环境中,已经打包好了login和api镜像,直接推送到harbor仓库即可。
修改docker配置文件,增加harbor地址
vi /etc/docker/daemon.JSON
内容如下:
{
"reGIStry-mirrors": ["http://hub-mirror.c.163.com"],
"insecure-registries": ["192.168.31.37"]
}
重启dockersystemctl restart docker
docker登录harbor,直接使用管理员账号登录
docker login 192.168.31.37 -u admin -p Harbor12345
打tag并推送
docker tag demo_api:v1 192.168.31.37/library/demo_api:v1
docker push 192.168.31.37/library/demo_api:v1
docker tag demo_login:v1 192.168.31.37/library/demo_login:v1
docker push 192.168.31.37/library/demo_login:v1
登录到k8s集群中的master节点以及node节点。
修改docker配置文件,增加harbor地址
vi /etc/docker/daemon.json
内容如下:
{
"registry-mirrors": ["http://hub-mirror.c.163.com"],
"insecure-registries": ["192.168.31.37"]
}
重启docker
systemctl restart docker
yum install -y git
git clone https://GitHub.com/py3study/Django-login-example.git
login.yaml是使用kuboard生成的,login-ingress.yaml是否手写的。因为kuboard生成的ingress有bug,外部无法访问。
cd djanGo-login-example/3.0
kubectl apply -f login.yaml
kubectl apply -f login-ingress.yaml
注意:请修改yaml文件中的仓库地址,改为实际环境中的harbor
cd django-login-example/3.0
kubectl apply -f api.yaml
kubectl apply -f api-ingress.yaml
注意:请修改yaml文件中的仓库地址,改为实际环境中的harbor
# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
svc-api-6559bb7cb8-58fvj 1/1 Running 0 2m24s 10.244.58.197 k8s-node02 <none> <none>svc-login-66c8d579b5-94x6t 1/1 Running 0 2m30s 10.244.85.198 k8s-node01 <none> <none>
确保处于`Running`状态,如果出现imagesoff,请确保node能下载镜像,镜像地址是否正确,是否登录了harbor
# kubectl get ingresses.extensions
NAME HOSTS ADDRESS PORTS AGE
svc-api api.baidu.com 80 4m37s
svc-login h5.baidu.com 80 4m43s
在1.0和2.0中,都使用了Nginx转发。在3.0就无需nginx转发了,直接使用ingress转发。
将域名解析到任意node节点的ip即可。如果没有dns,windows 10添加2条hosts记录
192.168.31.178 h5.baidu.com
192.168.31.178 api.baidu.com
访问登录页面
http://h5.baidu.com/
效果如下:
登录成功后,效果如下:
--结束END--
本文标题: 前后端分离架构+k8s+ingress
本文链接: https://www.lsjlt.com/news/193641.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0