本文章属个人学习整理的对应笔记,学习内容来尚硅谷的培训课,有兴趣的同学可以跳转下方链接
【云原生Java架构师的第一课K8s+Docker+KubeSphere+DevOps】https://www.bilibili.com/video/BV13Q4y1C7hS?p=71&vd_source=08192e8d3b82bf20dfe6807a2901dd9e
为了展示ingress实战意义
我们的部署如下
1.部署两个deployment,都为nginx服务,都包含两个pod
2.部署两个service,分别暴露8000端口
3.ingress根据不同的域名将服务分发到不同的service上
1.部署deployment
部署deployment的yaml脚本
这里注意---,相当于分割一个完整yaml文档
apiVersion: apps/v1 kind: Deployment metadata: labels: app: one-nginx name: one-nginx spec: replicas: 2 selector: matchLabels: app: one-nginx template: metadata: labels: app: one-nginx spec: containers: - image: nginx name: nginx --- apiVersion: apps/v1 kind: Deployment metadata: labels: app: two-nginx name: two-nginx spec: replicas: 2 selector: matchLabels: app: two-nginx template: metadata: labels: app: two-nginx spec: containers: - image: nginx name: nginx |
2.部署service
部署service的yaml脚本
apiVersion: v1 kind: Service metadata: labels: app: one-nginx name: one-nginx spec: ports: - port: 8000 protocol: TCP targetPort: 80 selector: app: one-nginx --- apiVersion: v1 kind: Service metadata: labels: app: two-nginx name: two-nginx spec: ports: - port: 8000 protocol: TCP targetPort: 80 selector: app: two-nginx |
3.为了提高辨识度,我们修改下两个deploy里面的内容
3.ingress的配置
host为匹配的域名
pathType:Prefix搭配path:"/"的意思是以域名加/为匹配的情况下
backend为后台服务,service对应name指定的哪个,监听的端口为8000
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: one-ingress spec: ingressClassName: nginx rules: - host: "one.xiaotiancai.com" http: paths: - path: "/" pathType: Prefix backend: service: name: one-nginx port: number: 8000 - host: "two.xiaotiancai.com" http: paths: - path: "/" pathType: Prefix backend: service: name: two-nginx port: number: 8000 |
4.域名映射
直接修改本地的域名文件,ip地址用master节点的就行
这里注意暴露端口
5.测试效果如下
我们今天的内容到这就结束了,今天的内容到这里就结束了,如果有啥不会的朋友记得论坛里面提问哈~
如果朋友你感觉文章的内容对你有帮助,可以点赞,关注文章和专栏以及关注我哈,嘿嘿嘿我会定期更新文章的,谢谢朋友你的支持哈