在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

k8s使用ingress

114次阅读
没有评论

共计 5464 个字符,预计需要花费 14 分钟才能阅读完成。

本篇文章给大家分享的是有关 k8s 使用 ingress-nginx 负载均衡的示例分析,丸趣 TV 小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着丸趣 TV 小编一起来看看吧。

ingress-nginx 负载均衡调用顺序: 用户 — ingress-nginx(pod)— ingress-nginx(控制器)— ingress— service— pod

1. 下载安装 ingress-nginx(七层调度器)

https://kubernetes.github.io/ingress-nginx/deploy/     – 详细文档

https://github.com/kubernetes/ingress-nginx/tree/master/deploy    –ingress-nginx 的 yaml 文件

[root@k8s1 ~]# kubectl explain ingress            – 帮助信息

[root@k8s1 ~]# vim /etc/sysconfig/kubelet      – 启用 ipvs 功能 (service 负载均衡有三种 userspace,iptables,ipvs)

KUBE_PROXY_MODE=ipvs       – 添加参数

[root@k8s1 ~]# kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/mandatory.yaml

[root@k8s1 ~]# kubectl get pods -n ingress-nginx

NAME                                        READY   STATUS              RESTARTS   AGE

nginx-ingress-controller-68db76b4db-pqcl7   0/1     ContainerCreating   0          35s

[root@k8s1 ~]# kubectl get pods -n ingress-nginx

NAME                                        READY   STATUS    RESTARTS   AGE

nginx-ingress-controller-68db76b4db-pqcl7   1/1     Running   0          9m20s

[root@k8s1 ~]# 

2. 创建 service 控制器和后端三个 pod

[root@k8s1 ~]# vim service-pod.yaml 

kind: Service

metadata:

  name: ingress-nginx

  namespace: ingress-nginx

spec:

  selector:

    app: ingress-nginx      – 与下面的 pod 保持一至

    release: canary

  ports:

    – name: http

      targetPort: 80

      port: 80

apiVersion: apps/v1

kind: Deployment

metadata:

  name: myapp-deploy-ng

  namespace: ingress-nginx

spec:

  replicas: 3

  selector:

    matchLabels:

      app: ingress-nginx        – 与上面的 service 保持一至

      release: canary

  template:

    metadata:

      labels:

        app: ingress-nginx      – 与上面的 service 保持一至

        release: canary

    spec:

      containers:

      – name: ingress-nginx     – 与上面的 service 保持一至

        image: ikubernetes/myapp:v1

        ports:

        – name: http

          containerPort: 80

[root@k8s1 ~]# kubectl apply -f service-pod.yaml

service/ingress-nginx created

deployment.apps/myapp-deploy-ng created

[root@k8s1 ~]# kubectl  get pods -o wide -n ingress-nginx

NAME                                        READY   STATUS    RESTARTS   AGE    IP             NODE   NOMINATED NODE   READINESS GATES

myapp-deploy-ng-65d64df569-5f9l2            1/1     Running   0          9m6s   10.244.2.9     k8s3    none             none

myapp-deploy-ng-65d64df569-n288f            1/1     Running   0          9m6s   10.244.1.76    k8s2    none             none

myapp-deploy-ng-65d64df569-vnrj5            1/1     Running   0          9m6s   10.244.1.77    k8s2    none             none

nginx-ingress-controller-68db76b4db-d2h75   1/1     Running   0          18d    10.244.2.240   k8s3    none             none

[root@k8s1 ~]# kubectl get svc -n ingress-nginx

NAME            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE

ingress-nginx   ClusterIP   10.99.27.16      none         80/TCP         20s

3. 创建 service-nodeport

[root@k8s1 ~]# wget https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/provider/baremetal/service-nodeport.yaml

[root@k8s1 ~]# vim service-nodeport.yaml 

apiVersion: v1

kind: Service

metadata:

  name: ingress-nginx

  namespace: ingress-nginx

spec:

  type: NodePort

  ports:

    – name: http

      port: 80

      targetPort: 80

      protocol: TCP

      nodePort: 30880

    – name: https

      port: 443

      targetPort: 443

      protocol: TCP

      nodePort: 30443

  selector:

    app: ingress-nginx

[root@k8s1 ~]# kubectl apply -f service-nodeport.yaml 

service/ingress-nginx configured

[root@k8s1 ~]# kubectl  get svc -n ingress-nginx

NAME            TYPE       CLUSTER-IP    EXTERNAL-IP   PORT(S)                      AGE

ingress-nginx   NodePort   10.99.27.16    none         80:30880/TCP,443:30443/TCP   11h

[root@k8s1 ~]# kubectl describe svc ingress-nginx -n ingress-nginx

Name:                     ingress-nginx

Namespace:                ingress-nginx

Labels:                    none

Annotations:              kubectl.kubernetes.io/last-applied-configuration:

                            {apiVersion : v1 , kind : Service , metadata :{ annotations :{}, name : ingress-nginx , namespace : ingress-nginx }, spec :{ports :[{ na…

Selector:                 app=ingress-nginx

Type:                     NodePort

IP:                       10.99.27.16

Port:                     http  80/TCP

TargetPort:               80/TCP

NodePort:                 http  30880/TCP

Endpoints:                10.244.1.76:80,10.244.1.77:80,10.244.2.9:80     – 后端代理的三个 pod 地址

Port:                     https  443/TCP

TargetPort:               443/TCP

NodePort:                 https  30443/TCP

Endpoints:                10.244.1.76:443,10.244.1.77:443,10.244.2.9:443

Session Affinity:         None

External Traffic Policy:  Cluster

Events:                    none

[root@k8s1 ~]# curl http://172.16.8.12:30880

4. 创建 ingress 控制器

[root@k8s1 ~]# cat ingress.yaml

apiVersion: extensions/v1beta1

kind: Ingress

metadata:

  name: ingress-myapp

  namespace: default

  annotations:

    kubernetes.io/ingress.class: nginx

spec:

  rules:

  – host: myapp.magedu.com              – 域名

    http:

      paths:

      – path:

        backend:

          serviceName: ingress-nginx    –service 名字

          servicePort: 80

[root@k8s1 ~]# kubectl apply -f ingress.yaml 

ingress.extensions/ingress-myapp created

[root@k8s1 ~]# kubectl get ingress

NAME            HOSTS              ADDRESS   PORTS   AGE

ingress-myapp   myapp.magedu.com             80      4s

[root@k8s1 ~]# kubectl describe ingress ingress-myapp       – 查看 ingress-myapp 详细信息

[root@k8s1 ~]# kubectl get pods -n ingress-nginx

NAME                                        READY   STATUS    RESTARTS   AGE

nginx-ingress-controller-68db76b4db-d2h75   1/1     Running   0          18d

[root@k8s1 ~]# kubectl exec -n ingress-nginx -it nginx-ingress-controller-68db76b4db-d2h75 — /bin/sh

5. 访问 web 站点

[root@k8s1 ~]# curl http://172.16.8.12:30880/hostname.html        – 返回的结果就是三个 pod 的主机名

myapp-deploy-ng-65d64df569-5f9l2

[root@k8s1 ~]# curl http://172.16.8.12:30880/hostname.html

myapp-deploy-ng-65d64df569-5f9l2

[root@k8s1 ~]# curl http://172.16.8.12:30880/hostname.html

myapp-deploy-ng-65d64df569-vnrj5

[root@k8s1 ~]# curl http://172.16.8.12:30880/hostname.html

myapp-deploy-ng-65d64df569-vnrj5

[root@k8s1 ~]# curl http://172.16.8.12:30880/hostname.html

myapp-deploy-ng-65d64df569-n288f

[root@k8s1 ~]# 

以上就是 k8s 使用 ingress-nginx 负载均衡的示例分析,丸趣 TV 小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注丸趣 TV 行业资讯频道。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计5464字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 亚洲精品美女一区二区三区乱码 | 亚洲欧美色鬼久久综合 | 黄色大全免费观看 | 成人黄色在线观看视频 | 97精品国产手机 | 久久久一级 | 亚洲人成影院在线高清 | 亚洲欧美在线播放 | 亚洲精品乱码久久久久久自慰 | 成年人电影在线免费观看 | 亚洲爆乳无码一区二区三区 | 亚洲精品免费在线 | 国产在线黄 | 亚洲精品福利一区二区 | 91香蕉国产线在线观看免费 | 久久国产劲暴∨内射新川 | 五月丁香六月激情综合在线视频 | 亚洲精品在线第一页 | 亚洲综合一区无码精品 | 日韩一及片| 中文字幕一区二区三区精彩视频 | 亚洲a毛片 | 国产日韩欧美亚洲 | 免费观看日本特色做爰视频在线 | 亚洲码欧美码一区二区三区 | 久久亚洲网 | 杨幂国产精品福利在线观看 | 中字无码av电影在线观看网站 | 国产日产高清欧美一区二区三区 | 久久国产乱子伦免费精品 | 一区二区三区免费视频观看 | 4hu四虎| 韩国成人在线视频 | 免费的很黄很污的视频 | 极品美女扒开粉嫩小泬 | 在线成人爽a毛片免费软件 在线成人天天鲁夜啪视频 在线成人亚洲 | 欧美亚洲国产一区 | 中文人妻av久久人妻水蜜桃 | 欧美日韩国产码高清 | 爱爱的免费视频 | 亚洲精彩视频在线观看 |