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

做家具的网站工作单位怎么填

做家具的网站,工作单位怎么填,婚纱摄影网站设计案例,竞价托管 微竞价文章目录 一、ingress介绍二、创建nginx和tomcat供测试三、创建ingress-http四、yaml方式安装ingress五、helm方式安装ingress#xff08;推荐#xff09;六、Ingress的HTTPS代理 一、ingress介绍 Service对集群之外暴露服务的主要方式有两种#xff1a;NotePort和LoadBalan… 文章目录 一、ingress介绍二、创建nginx和tomcat供测试三、创建ingress-http四、yaml方式安装ingress五、helm方式安装ingress推荐六、Ingress的HTTPS代理 一、ingress介绍 Service对集群之外暴露服务的主要方式有两种NotePort和LoadBalancer但是这两种方式都有一定的缺点 1NodePort方式的缺点是会占用很多集群机器的端口那么当集群服务变多的时候这个缺点就愈发明显 2LB方式的缺点是每个service需要一个LB浪费、麻烦并且需要kubernetes之外设备的支持 基于这种现状kubernetes提供了Ingress资源对象Ingress只需要一个NodePort或者一个LB就可以满足暴露多个Service的需求 ingress相关涉及概念 1ingresskubernetes中的一个对象作用是定义请求如何转发到service的规则 2ingress controllel具体实现反向代理及负载均衡的程序对ingress定义的规则进行解析根据配置的规则来实现请求转发实现方式有很多比如Nginx, Contour, Haproxy等等 ingress工作机制 Ingress相当于一个七层的负载均衡器是kubernetes对反向代理的一个抽象它的工作原理类似于Nginx。原理是安装完ingress后在Ingress Service中定义哪个域名对应kubernetes集群中的哪个ServiceIngress Controller通过监听这些映射规则并转化为Nginx(或Contour、Haproxy)的反向代理配置并将反向代理配置写入这些Nginx(或Contour、Haproxy)服务最后由Nginx(或Contour、Haproxy)对外提供服务 二、创建nginx和tomcat供测试 创建空间kubectl create ns ingress-nginx 创建nginx pod和tomcat的pod 1编写yaml文件vi /opt/nginx-tomcat-deployment.yaml apiVersion: apps/v1 kind: Deployment metadata:name: nginx-deploymentnamespace: ingress-nginx spec:replicas: 1selector:matchLabels:app: nginx-podtemplate:metadata:labels:app: nginx-podspec:containers:- name: nginx-containerimage: nginx:latestports:- name: nginx-portcontainerPort: 80protocol: TCP---apiVersion: apps/v1 kind: Deployment metadata:name: tomcat-deploymentnamespace: ingress-nginx spec:replicas: 1selector:matchLabels:app: tomcat-podtemplate:metadata:labels:app: tomcat-podspec:containers:- name: tomcat-containerimage: tomcat:8.5-jre10-slimports:- name: tomcat-portcontainerPort: 8080protocol: TCPapiVersion: 定义所使用的Kubernetes API的版本这里是apps/v1。 kind: 定义资源的类型这里是Deployment。 metadata: 元数据用于描述该Deployment的属性。name: 定义Deployment的名称为tomcat-deployment。namespace: 定义Deployment所属的命名空间为dev。 spec: Deployment的规格指定了Deployment的配置选项。replicas: 定义要创建的Pod的副本数量这里是3个。selector: 用于选择要管理的Pod的标签。matchLabels: 匹配标签的列表这里选择带有app: tomcat-pod标签的Pod。template: 定义要创建的Pod的模板。metadata: Pod的元数据用于描述Pod的属性。labels: 为Pod添加的标签这里是app: tomcat-pod。spec: Pod的规格设置。containers: 定义Pod中的容器列表。name: 容器的名称为tomcat-container。image: 定义容器所使用的镜像为tomcat:8.5-jre10-slim。ports: 定义容器暴露的端口列表。name: 定义端口的名称为tomcat-port。containerPort: 定义容器内部监听的端口号为8080。protocol: 定义端口的协议为TCP。2创建podkubectl apply -f /opt/nginx-tomcat-deployment.yaml 3查看创建的podkubectl get pod 准备Service 1新建nginx-tomcat.yaml文件vi /opt/nginx-tomcat.yaml apiVersion: v1 kind: Service metadata:name: nginx-servicenamespace: ingress-nginx spec:selector:app: nginx-podtype: ClusterIPclusterIP: Noneports:- protocol: TCPport: 80targetPort: 80 --- apiVersion: v1 kind: Service metadata:name: tomcat-servicenamespace: ingress-nginx spec:selector:app: tomcat-podtype: ClusterIPclusterIP: Noneports:- protocol: TCPport: 8080targetPort: 8080apiVersion: 定义所使用的Kubernetes API的版本这里是v1。 kind: 定义资源的类型这里是Service表示创建一个Service资源。 metadata: 元数据用于描述该Service的属性。name: 定义Service的名称为nginx-service。namespace: 定义Service所属的命名空间为dev。 spec: Service的规格指定了Service的配置选项。selector: 用于选择要匹配的Pod的标签。app: 对应Pod的标签为nginx-pod。type: 定义Service的类型这里是ClusterIP表示创建一个仅在集群内部访问的Service。clusterIP: 定义Service的虚拟IP地址这里设置为None表示不会分配一个可路由的IP地址给Service。ports: 定义Service暴露的端口列表。protocol: 定义端口的协议为TCP。port: 定义Service暴露的端口号为80。targetPort: 定义将流量转发到Pod的目标端口为80。2创建podkubectl apply -f /opt/nginx-tomcat.yaml 3查看kubectl get svc -n ingress-nginx 三、创建ingress-http 创建ingress 1新建ingress-http.yaml文件vi /opt/ingress-http.yaml apiVersion: networking.k8s.io/v1 kind: Ingress metadata:name: ingress-httpnamespace: ingress-nginx spec:rules:- host: nginx.bulut.comhttp:paths:- path: /pathType: Exactbackend:service:name: nginx-serviceport:number: 80 - host: tomcat.bulut.comhttp:paths:- path: /pathType: Exactbackend:service:name: tomcat-serviceport:number: 8080ingressClassName: nginxapiVersion: 定义所使用的Kubernetes API的版本这里是networking.k8s.io/v1表示使用了网络扩展API。 kind: 定义资源的类型这里是Ingress表示创建一个Ingress资源。 metadata: 元数据用于描述该Ingress的属性。name: 定义Ingress的名称为ingress-http。namespace: 定义Ingress所属的命名空间为dev。annotations: kubernetes.io/ingress.class: nginxnginx.ingress.kubernetes.io/rewrite-target: / #表示匹配的路径匹配部分需要重写逻辑 spec: Ingress的规格指定了Ingress的配置选项。rules: 定义Ingress规则的列表。- host: 指定Ingress规则要匹配的主机名。nginx.bulut.com: 匹配主机为nginx.bulut.com。tomcat.bulut.com: 匹配主机为tomcat.bulut.com。http: 指定该规则使用HTTP协议。paths: 定义路径与后端服务之间的映射关系。- path: 指定要映射的路径为/表示将该规则应用于所有路径。pathType: 指定路径类型为Exact表示精确匹配路径。Prefix表示前缀匹配通常跟rewrite-target组合使用。backend: 指定要将流量转发到的后端服务。service: 指定后端服务的名称。name: 后端服务的名称分别为nginx-service和tomcat-service。port: 指定要将流量转发到的后端服务的端口。number: 后端服务的端口号分别为80和8080。2创建podkubectl apply -f /opt/ingress-http.yaml 3查看kubectl get ingress ingress-http -n ingress-nginx 4查看详情kubectl describe ingress ingress-http -n ingress-nginx 查看ingress运行所在服务器kubectl get pods -n ingress-nginx -o wide 四、yaml方式安装ingress psmaster节点操作 切换路径cd /opt 创建ingress-nginx 1下载ingress-nginx的yaml文件wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.2.0/deploy/static/provider/cloud/deploy.yaml 2修改yaml文件内容 将 image: k8s.gcr.io/ingress-nginx/controller:v1.2.0sha256:d8196e3bc1e72547c5dec66d6556c0ff92a23f6d0919b206be170bc90d5f9185image: k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1sha256:64d8c73dca984af206adf9d6d7e46aa550362b1d7a01f3a0a91b20cc67868660image: k8s.gcr.io/ingress-nginx/kube-webhook-certgen:v1.1.1sha256:64d8c73dca984af206adf9d6d7e46aa550362b1d7a01f3a0a91b20cc67868660改为 image: docker.io/dyrnq/controller:v1.2.0sha256:d8196e3bc1e72547c5dec66d6556c0ff92a23f6d0919b206be170bc90d5f9185image: registry.cn-hangzhou.aliyuncs.com/google_containers/kube-webhook-certgen:v1.1.1sha256:64d8c73dca984af206adf9d6d7e46aa550362b1d7a01f3a0a91b20cc67868660image: registry.cn-hangzhou.aliyuncs.com/google_containers/kube-webhook-certgen:v1.1.1sha256:64d8c73dca984af206adf9d6d7e46aa550362b1d7a01f3a0a91b20cc67868660image: docker.io/dyrnq/controller:v1.2.0sha256:d8196e3bc1e72547c5dec66d6556c0ff92a23f6d0919b206be170bc90d5f9185 的备用地址 image: registry.cn-hangzhou.aliyuncs.com/google_containers/nginx-ingress-controller:v1.2.0sha256:d8196e3bc1e72547c5dec66d6556c0ff92a23f6d0919b206be170bc90d5f9185 可忽略3创建podkubectl apply -f /opt/deploy.yaml 4查看ingress-nginx的podkubectl get pod -n ingress-nginx -o wide 5查看ingress-nginx的Servicekubectl get svc -n ingress-nginx 访问nginx和tomcat服务 1设置主机名映射vi /etc/hosts ps这里的ip取运行ingress-nginx-controller pod的节点因为我都是在worker1运行的所以取192.168.248.11 192.168.248.11 tomcat.bulut.com 192.168.248.11 nginx.bulut.com2重置网络service network restart 3查看ingress-nginx的Service开放的端口kubectl get svc -n ingress-nginx 4访问nginxcurl http://nginx.bulut.com:32397 5访问tomcatcurl http://tomcat.bulut.com:32397 原理说明可以将ingress-nginx的Service开放的端口理解成是nginx的端口。然后根据域名进行匹配就跟nginx的前缀匹配一样进行反向代理。 本地连接测试 1查看ingress pod所在kubectl describe pod ingress-nginx-controller-77d4dc6978-bq2xt -n ingress-nginx 2在本地的hosts文件配置映射 192.168.248.11 tomcat.bulut.com 192.168.248.11 nginx.bulut.com3浏览器访问http://nginx.bulut.com:32397/ ingress默认使用的http 80https 443采用nodeport方式默认的端口暴露范围在 30000-32767。通过更改apiserver nodeport端口范围达到更改ingress端口的作用。 1修改apiserver端口范围vi /etc/kubernetes/manifests/kube-apiserver.yaml 添加 --service-node-port-range1-32767 2重新启动apiserverkubectl delete pod kube-apiserver-master -n kube-system 3修改配置更改ingress端口vi /opt/ingress-service.yaml apiVersion: v1 kind: Service metadata:labels:app.kubernetes.io/component: controllerapp.kubernetes.io/instance: ingress-nginxapp.kubernetes.io/name: ingress-nginxapp.kubernetes.io/part-of: ingress-nginxapp.kubernetes.io/version: 1.2.0name: ingress-nginx-controllernamespace: ingress-nginx spec:externalTrafficPolicy: Localports:- appProtocol: httpname: httpport: 80nodePort: 80protocol: TCPtargetPort: http- appProtocol: httpsname: httpsport: 443protocol: TCPtargetPort: httpsselector:app.kubernetes.io/component: controllerapp.kubernetes.io/instance: ingress-nginxapp.kubernetes.io/name: ingress-nginxtype: LoadBalancer4启动kubectl apply -f /opt/ingress-service.yaml 5访问http://tomcat.bulut.com/和http://nginx.bulut.com/ psnginx.bulut.com和tomcat.bulut.com主机名需要跟ingress-nginx所在的主机ip做映射。 五、helm方式安装ingress推荐 卸载原来的ingresskubectl delete -f /opt/deploy.yaml 搜索 ingress-nginx helm search repo ingress-nginx 给节点设置标签后面set设置ingress只能部署在 ingresstrue的节点上kubectl label node worker1 ingresstrue 直接安装ingress ps因为是从github拉取所以很慢甚至拉不到。如果拉不到直接跳过此步骤。如果可以直接进入第11步 helm install ingress-nginx ingress-nginx/ingress-nginx -n ingress-nginx --set controller.hostNetworktrue --set controller.dnsPolicyClusterFirstWithHostNet --set controller.kindDaemonSet --set controller.image.registryregistry.cn-hangzhou.aliyuncs.com --set controller.image.imagegoogle_containers/nginx-ingress-controller --set controller.admissionWebhooks.patch.image.registryregistry.cn-hangzhou.aliyuncs.com --set controller.admissionWebhooks.patch.image.imagegoogle_containers/kube-webhook-certgen --set controller.admissionWebhooks.patch.image.tagv1.8.1 --set controller.nodeSelector.ingresstrue --set controller.service.typeClusterIP --set controller.admissionWebhooks.enabledfalse在/opt/helm目录下拉取镜像 cd /opt/helm helm pull ingress-nginx/ingress-nginx解压tar -zxvf ingress-nginx-4.7.1.tgz 进入解压目录cd /opt/helm/ingress-nginx 修改配置文件vi values.yaml ps不同地方的修改点用------------隔开 ------4------ controller:name: controllerimage:## Keep false as default for now!chroot: falseregistry: registry.cn-hangzhou.aliyuncs.comimage: google_containers/nginx-ingress-controller## for backwards compatibility consider setting the full image url via the repository value below## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail## repository:tag: v1.8.1# digest: sha256:e5c4824e7375fcf2a393e1c03c293b69759af37a9ca6abdb91b13d78a93da8bd# digestChroot: sha256:e0d4121e3c5e39de9122e55e331a32d5ebf8d4d257227cb93ab54a1b912a7627 ------2------ dnsPolicy: ClusterFirstWithHostNet ------1------ hostNetwork: true------3------ kind: DaemonSet-------5-----patch:enabled: trueimage:registry: registry.cn-hangzhou.aliyuncs.comimage: google_containers/kube-webhook-certgen## for backwards compatibility consider setting the full image url via the repository value below## use *either* current default registry/image or repository format or installing chart by providing the values.yaml will fail## repository:tag: v1.8.1## digest: sha256:543c40fd093964bc9ab509d3e791f9989963021f1e9e4c9c7b6700b02bfb227b## pullPolicy: IfNotPresent ------6------ nodeSelector:kubernetes.io/os: linuxingress: true## Liveness and readiness probe values## Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes ------7------ type: ClusterIP## type: NodePort ------8------ admissionWebhooks:annotations: {}# ignore-check.kube-linter.io/no-read-only-rootfs: This deployment needs write access to root filesystem.## Additional annotations to the admission webhooks.## These annotations will be added to the ValidatingWebhookConfiguration and## the Jobs Spec of the admission webhooks.enabled: false创建ingress-nginx资源helm install ingress-nginx -n ingress-nginx . ps卸载helm uninstall ingress-nginx -n ingress-nginx 查看kubectl get pod -n ingress-nginx -o wide 访问http://nginx.bulut.com/和http://tomcat.bulut.com/ ps如果没有经过第三步需要补充一些第三步的步骤比如创建ingress的映射关系等等 六、Ingress的HTTPS代理 psmaster节点操作 生成证书 openssl req -newkey rsa:2048 -nodes -keyout tls.key -x509 -days 3650 -out tls.crt -subj /CCN/STHN/LCS/Obulut/OUbulut/CNbulut.com/emailAddressbulut163.com参数说明 req表示证书请求的子命令 -newkey rsa:2048表示生成私钥 -nodes表示私钥不加密 -keyout tls.key表示生成的私钥输出文件 -x509表示输出证书 -days 3650表示证书有效期 -out tls.crt表示生成的证书输出文件 -subj “/CCN/STHN/LCS/Obulut/OUbulut/CNbulut.com/emailAddressbulut163.com”表示自动输入证书拥有者信息分别表示国家/省份/城市/公司名/部门名/域名/邮件地址 2. 创建密钥kubectl create secret tls tls-secret --key tls.key --cert tls.crt3. 创建Ingress1新建ingress-https.yaml文件vi /opt/ingress-https.yaml java apiVersion: networking.k8s.io/v1 kind: Ingress metadata:name: ingress-https spec:tls:- secretName: tls-secrethosts:- nginx.bulut.com- tomcat.bulut.comrules:- host: nginx.bulut.comhttp:paths:- path: /pathType: Exactbackend:service:name: nginx-serviceport:number: 80- host: tomcat.bulut.comhttp:paths:- path: /pathType: Exactbackend:service:name: tomcat-serviceport:number: 8080 apiVersion: networking.k8s.io/v1: 这指定了使用的Kubernetes API版本。 kind: Ingress: 这指定了资源类型为Ingress。 metadata: 这是Ingress对象的元数据包括名称name和命名空间namespace。 spec: 这是Ingress规范定义了Ingress的规则和TLS配置。tls: 这指定了使用的TLS证书的名称secretName和绑定的主机名列表hosts。rules: 这定义了Ingress的路由规则。host: 这指定了请求的主机名。http: 这定义了针对HTTP请求的规则。paths: 这定义了路由到该主机的路径规则。path: 这指定了请求的路径。pathType: 这指定了路径的匹配类型例如Exact表示精确匹配。backend: 这指定了路由到的后端服务。service: 这定义了后端服务的名称name和端口port。2创建podkubectl apply -f /opt/ingress-https.yaml Ingress查看kubectl get ingress ingress-https Ingress详情的查看kubectl describe ingress ingress-https 访问tomcat和nginx curl --insecure https://nginx.bulut.com curl --insecure https://tomcat.bulut.com
http://www.zqtcl.cn/news/578237/

相关文章:

  • 福州建设银行官网招聘网站山西建设公司网站
  • 集团网站建设方案中卫网站推广制作
  • 射阳网站建设电商运营团队结构图
  • 有没有女的做任务的网站计算机网站开发专业
  • 怎么样开始做网站网站建设 营业执照 经营范围
  • 威海做网站网站建设方案书 模版
  • 泗阳做网站南昌建设
  • 做企业网站用什么软件深圳制作企业网站
  • 大连微信网站开发兰州网站建设模板
  • 建设项目安监备案网站外贸 网站 seo
  • 企慕网站建设网络推广合肥市网站制作
  • 做空比特币网站大气简约企业网站模板免费下载
  • 坪山网站建设行业现状做网站能月入10万
  • 个人网站有什么内容广西网站建设推广
  • 安徽教育云网站建设网站seo诊断的主要内容
  • 网站建设例子开发工具宏怎么使用
  • 新乡做网站公司哪个地区网站建设好
  • 网站模板怎么编辑网站定制化
  • 利于优化的网站网络科技公司怎么赚钱
  • 制作网站的步骤和方法做物流的网站有哪些功能
  • vs做网站图片明明在文件夹里却找不到中国建筑网官网找客户信息
  • WordPress仿站培训黑龙江新闻夜航
  • 如何利用开源代码做网站济南做网站互联网公司有哪些
  • 生意网app下载官网郑州做网站优化公
  • wordpress网站更换域名wordpress 小工具定制
  • 上海做机床的公司网站设计网站怎样做色卡
  • 一个网站怎么绑定很多个域名做网站后台应该谁来做
  • 跑纸活做网站加大门户网站安全制度建设
  • 多商户开源商城seo对网店的作用有哪些
  • 提供微信网站建设福州seo建站