当前位置: 首页 > news >正文

汕头 网站建设不同网站建设报价单

汕头 网站建设,不同网站建设报价单,wordpress移动端页面,银川微信网站制作一、service 1、service作用 ①集群内部:不断跟踪pod的变化,不断更新endpoint中的pod对象,基于pod的IP地址不断变化的一种服务发现机制(endpoint存储最终对外提供服务的IP地址和端口) ②集群外部:类似负…

一、service

1、service作用

①集群内部:不断跟踪pod的变化,不断更新endpoint中的pod对象,基于pod的IP地址不断变化的一种服务发现机制(endpoint存储最终对外提供服务的IP地址和端口)

②集群外部:类似负载均衡器,不涉及转发url(不涉及http和https),把流量(IP地址+端口)转发到pod中

2service类型

(1)nodeport:容器端口和service端口做映射,设定nodeport后,每个节点都会有一个端口被打开(30000-32767),通过IP+端口实现负载均衡

(2)loadbalance:云平台上的service服务,由云平台提供负载均衡的IP地址

(3)extrenalname:基于域名映射

ingress基于域名进行映射,将url转发到service,再由service把请求转发到每一个pod

二、ingress

1、定义

ingress只要一个或少量的公网IP或者loadbalance,可以把多个http请求暴露到外网。ingress是七层反向代理,可以理解为service的service,是一组基于域名和URL路径把一个或多个请求转发到service的规则

七层代理ingress——四层代理service——pod

客户端发出请求,先由ingress七层代理转发到service,再由service四层代理转发到pod【面试】

2、ingress组成

(1)内部结构:ingress是一个api对象,通过yaml文件来进行配置。ingress的作用是定义请求如何转发到service的规则,相当于一个配置模板,ingress通过http和https暴露集群内部的service,给service提供一个外部的url、负载均衡、ssl/tls(https)功能,实现一个基于域名的负载均衡

(2)ingress-controller:由这个组件来具体实现反向代理和负载均衡,以及对ingress定义的规则进行解析,根据ingress配置来进行请求的转发。ingress-controller不是k8s自带的组件,只是一个统称,凡是能实现上述功能的都称为ingress-controller

1)实现ingress-controller功能的开源工具

①nginx ingress contoller

②traefik

2)ingress-controller资源定义项

①定义外部流量的路由规则

②定义服务的暴露方式、主机名、访问路径和其他选项

③负载均衡(由ingress-contrller实现)

3、下载nginx ingress contoller

wget https://gitee.com/mirrors/ingress-nginx/raw/nginx-0.30.0/deploy/static/mandatory.yaml

nginx ingress contoller以pod方式运行在集群中

4、ingress暴露服务的方式

(1)deployment+LoadBalancer模式:把ingress部署在公有云,在ingress配置文件里有一个type,type:LoadBalancer。公有云平台会为loadbalancer的service自动创建一个负载均衡器,且会绑定一个公网地址,通过域名指向这个公网地址可以实现集群对外暴露

(2)DaemonSet+hostnetwork+nodeSelector模式:七层代理。DaemonSet每个节点都会创建一个pod,hostnetwork表示pod共享节点主机的网络命名空间,容器内直接使用节点主机的IP地址+端口,pod中的容器可以直接访问主机上的网络资源;nodeSelector根据标签选择nginx ingress contoller部署的节点

缺点:直接利用节点主机的网络和端口,一个node只能部署一个ingress controller pod,比较是个大并发的生产环境,性能最好

(3)deployment+NodePort模式:七层+四层代理

ingress标签匹配ingress-nodeport标签,ingress-nodeport匹配service标签,service匹配pod标签

5、traefik ingress controller(有可视化界面)

(1)定义:traefik是一个为了让部署微服务更加快捷而诞生的http反向代理、负载均衡(工作在应用层,是七层代理)。traefik可以实时与k8s的API交互,自动感知后端service以及pod的变化,自动更新配置和重载

(2)部署方式

①daemonset

 优点:每个节点都会部署一个trafik,可以自动发现、更新容器的配置,不需要手动重载

 缺点:大型集群中daemonset可能会运行多个traefik的实例,尤其是在节点上不需要大量容器运行的情况下,资源利用率低;daemonset一般部署在对外集群,对外的业务会经常变更,daemonset可以自动发现服务配置变更;也没有办法扩缩容

②deployment

 优点:集中控制,可以使用少量的实例来运行处理整个集群的流量,更容器升级和维护

 缺点:deployment的负载均衡不会均分到每个节点;且无法感知容器内部配置的变化,需手动更新,一般部署在对内集群,对内的业务相对稳定,更新和变化比较少,适用deployment方式

设置标签:

对内服务:traffic-type:interal

对外服务:traffic-type:exteral

(3)nginx-ingress和traefik-ingress的区别

①相同点:都是七层代理,都可以动态的更新配置、自动发现服务

②不同点

 traefik-ingress自动更新的重载更快,更方便;nginx-ingress相对较慢

 traefik-ingress的并发能力只有nginx-ingress的60%

ingress之DaemonSet+hostnetwork+nodeSelector模式暴露服务实验

1、下载nginx ingress contoller控制器

wget https://gitee.com/mirrors/ingress-nginx/raw/nginx-0.30.0/deploy/static/mandatory.yaml

nginx ingress contoller以pod方式运行在集群中

2、设置节点标签3、每个节点上传控制器镜像并解压

4、在controller控制器创建的pod的节点上查看端口

netstat -antp|grep nginx

8181端口

nginx-controller默认配置的一个bachend,反向代理的端口,所有请求中,只要是不符合ingress配置的请求会转发到8181,相当于一个error页面

5、、创建pvc、pod、service、ingress

kubectl apply -f service-nginx.yaml

6、域名映射

7、测试访问

8、测试删除一个pod查看endpoind是否发生变化

结论:endpointIP地址变化

ingress之deployment+NodePort模式暴露服务实验

1、下载nginx ingress contoller控制器

wget https://gitee.com/mirrors/ingress-nginx/raw/nginx-0.30.0/deploy/static/mandatory.yaml

nginx ingress contoller以pod方式运行在集群中

2、下载service-nodeport控制器

wget https://gitee.com/mirrors/ingress-nginx/raw/nginx-0.30.0/deploy/static/provider/baremetal/service-nodeport.yaml

nodeport会在每个节点上创建一个端口

3、创建pv、pod、service、ingress4、域名映射

5、访问测试

基于deployment+NodePort模式的一个ingress可以访问多个主机实验

1、下载nginx ingress contoller控制器

wget https://gitee.com/mirrors/ingress-nginx/raw/nginx-0.30.0/deploy/static/mandatory.yaml

nginx ingress contoller以pod方式运行在集群中

2、下载service-nodeport控制器

wget https://gitee.com/mirrors/ingress-nginx/raw/nginx-0.30.0/deploy/static/provider/baremetal/service-nodeport.yaml

3、创建多个pod、service

pod1、service1

pod2、service2

4、创建多个ingress

5、主机映射

基于DaemonSet+hostnetwork+nodeSelector模式的一个ingress可以访问多个主机实验

1、下载nginx ingress contoller控制器

wget https://gitee.com/mirrors/ingress-nginx/raw/nginx-0.30.0/deploy/static/mandatory.yaml

nginx ingress contoller以pod方式运行在集群中

2、设置节点标签

3、每个节点上传控制器镜像并解压

4、在controller控制器创建的pod的节点上查看端口

netstat -antp|grep nginx

8181端口

nginx-controller默认配置的一个bachend,反向代理的端口,所有请求中,只要是不符合ingress配置的请求会转发到8181,相当于一个error页面

5、创建多个pod、service

pod1、service1

pod2、service2

6、创建多个ingress

7、主机映射

8、测试

ingress通过域名实现https代理访问实验

第一步:创建证书和密钥

第二步:secrets保存密钥信息,部署pod时将secret信息挂载到pod

1、生成证书和密钥文件

openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -keyout tls.key -out tls.crt -subj "/CN=nginxsvc/0=nginxsvc"

req

请求生成证书文件

x509

自动生成x.509的自签名的证书

-sha256

一种散列算法,用于加密密钥

-nodes

生成的密钥不加密

-days 365

证书有效期365天

-newkey rsa:2048

rsa的密钥对,长度2048位

-keyout tls.key -out tls.crt

密钥文件key,证书文件crt

-subj "/CN=nginxsvc/0=nginxsvc"

subj主题,CN(common name)名称,O(organization)组织

2、创建secret保存证书和密钥(将证书和密钥都加密)

kubectl create secret tls tls-secret --key tls.key --cert tls.crt

3、创建pod、service(创建ingress时导入secret)

注:spec下出现tls字段代表使用的是https协议进行流量转发。表明对于域名www.123ccc.com来说,使用了https协议

4、主机映射

5、测试访问

curl -k https://www.123ccc.com:30048

6、测试轮询

nginx的账号认证实验

第一步:借助http的加密工具,生成认证文件,只能叫auth

第二步:创建ingress

①声明认证类型

②导入认证的密钥文件,以secret的方式存储在集群中

1、下载httpd

yum -y install httpd

2、创建用户、密码

3、创建secret保存用户信息(将用户信息加密)

4、生成新的ingress

使用上一个实验的service。虽然这个信息加密了,但可以把流量转发到上一个实验service对应的pod

实际上生成的是auth.kgc.com

5、域名映射

nginx的重写实验

nginx的重定向(用ingress代理实现)

在ingress文件中声明的路径都会跳转到指定页面

1、创建ingress

重点:容器内页面跳转(一定要用Ingress来实现代理)

2、域名映射

3、访问测试

输入www.shu.com:31520跳转到https://www.123ccc.com:30048/

nginx-ingress-controller以上所有均介绍完毕

traefik-ingress的deployment模式实验

1、下载3个yaml文件

wget  https://gitee.com/mirrors/traefik/raw/v1.7/examples/k8s/traefik-deployment.yaml

wget  https://gitee.com/mirrors/traefik/raw/v1.7/examples/k8s/traefik-rbac.yaml

wget  https://gitee.com/mirrors/traefik/raw/v1.7/examples/k8s/ui.yaml3、访问ui界面

8080是提供可视化界面的端口

4、创建pod、service、ingress

7、域名映射

8、测试

扩容

缩容

traefik-ingress的daemonset模式实验

1、下载3个文件

①wget  https://gitee.com/mirrors/traefik/raw/v1.7/examples/k8s/traefik-rbac.yaml

②wget  https://gitee.com/mirrors/traefik/raw/v1.7/examples/k8s/traefik-ds.yaml

③wget  https://gitee.com/mirrors/traefik/raw/v1.7/examples/k8s/ui.yaml

2、修改nginx的配置文件

3、创建pod、service、ingress

4、测试daemonset自动发现功能

5、域名映射

6、热更新(将配置文件传入容器中)

kubectl patch deployments.apps nginx-traefik --patch '{"spec": {"template": {"metadata": {"annotations": {"version/config": "20240118"}}}}}'

7、更改配置文件,看ui界面是否自动发现

http://www.yayakq.cn/news/929699/

相关文章:

  • 做一百度网站建设小说网站首页
  • php网站怎么用mysql新建数据库建设商场黄金网站
  • 青岛建设网站的公司网站登录密码忘记了
  • 元器件网站建设案例打开云南省住房和城乡建设厅网站
  • 优秀网站建设报价广告营销策划方案怎么写
  • wordpress内存要求做seo网站的公司
  • 诸葛企业网站建设公司深圳门户网站建设专业
  • 石家庄市官方网站wordpress 为分类定模板
  • 常用于网站推广的营销手段是wordpress去掉工具栏
  • 可用的ftp网站免费安全
  • 营销型网站建设价格浅谈高校图书馆网站建设
  • 哪个网站能在家做兼职杭州 洛阳网站建设公司 网络服务
  • 网站建设赚钱流程哪里的佛山网站建设
  • 网站设计电子商务网站建设要求
  • 网站后台作用软文投放平台有哪些?
  • 做头像网站香精香料网
  • 本地服务型网站开发wordpress入门使用
  • 建设教育信息网站工作总结软件推广网络营销
  • 长沙县好的建站按效果付费如何建设运输网站
  • 昆明网站建设php上海美容论坛网站建设
  • 北京网站建设公司现状网络科技有限公司名字推荐
  • 支付集成文件放在网站哪里织梦高端大气网站模板
  • 保定网站制作企业做网站编程需要学什么软件
  • 青岛做网站建设价格低中企动力全球邮箱
  • 外贸网站建设排名给网站做rss
  • 奢侈品商城网站建设方案加拿大购物网站排名
  • logofree制作网站酷站网素材
  • 网站挂马处理百度快照wordpress云建站教程
  • 浅谈海尔的电子商务网站建设一链一网一平台
  • 长春高铁建站wordpress中上传图片