页面“Self参数详解”与“Serive暴露”之间的差异
(页面间的差异)
跳到导航
跳到搜索
小 (导入1个版本) |
docker>Evan |
||
第1行: | 第1行: | ||
− | # | + | |
+ | 暴露服务的方式有3种,使用slb、ingress和使用nodeport | ||
+ | |||
+ | frontend(前端)和 backend(后端) | ||
+ | |||
+ | ==负载均衡(Server Load Balancer)== | ||
+ | ===方法一=== | ||
+ | <pre>通过命令行工具创建一个 Nginx 应用。 | ||
+ | root@master # kubectl run nginx --image=registry.aliyuncs.com/acs/netdia:latest | ||
+ | root@master # kubectl get po | ||
+ | NAME READY STATUS RESTARTS AGE | ||
+ | nginx-2721357637-dvwq3 1/1 Running 1 6s | ||
+ | 为 Nginx 应用创建阿里云负载均衡服务,指定 type=LoadBalancer 来向外网用户暴露 Nginx 服务。 | ||
+ | root@master # kubectl expose deployment nginx --port=80 --target-port=80 --type=LoadBalancer | ||
+ | root@master # kubectl get svc | ||
+ | NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE | ||
+ | nginx 172.19.XX.XX 101.37.XX.XX 80:31891/TCP 4s | ||
+ | 在浏览器中访问 http://101.37.XX.XX,来访问您的 Nginx 服务。</pre> | ||
+ | ===二=== | ||
+ | <pre> | ||
+ | 方法二 | ||
+ | |||
+ | 将下面的 yml code 保存到 nginx-svc.yml文件中。 | ||
+ | apiVersion: v1 | ||
+ | kind: Service | ||
+ | metadata: | ||
+ | labels: | ||
+ | run: nignx | ||
+ | name: nginx-01 | ||
+ | namespace: default | ||
+ | spec: | ||
+ | ports: | ||
+ | - port: 80 | ||
+ | protocol: TCP | ||
+ | targetPort: 80 | ||
+ | selector: | ||
+ | run: nginx | ||
+ | type: LoadBalancer | ||
+ | 执行kubectl apply -f nginx-svc.yml命令。 | ||
+ | root@master # kubectl apply -f nginx-svc.yml | ||
+ | root@master # kubectl get service | ||
+ | NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE9d | ||
+ | ngi-01nx LoadBalancer 172.19.XX.XX 101.37.XX.XX 80:32325/TCP 3h | ||
+ | 在浏览器中访问 http://101.37.XX.XX,来访问您的 Nginx 服务。 | ||
+ | </pre> | ||
+ | |||
+ | ===通过 Kubernetes Dashboard 操作=== | ||
+ | |||
+ | =see also= | ||
+ | [https://help.aliyun.com/document_detail/86531.html?spm=5176.2020520165.120.d86531.2d357029XalTRt aliyun 通过负载均衡(Server Load Balancer)访问服务] | ||
+ | |||
+ | [https://help.aliyun.com/document_detail/86512.html 创建服务] |
2019年7月12日 (五) 03:06的版本
暴露服务的方式有3种,使用slb、ingress和使用nodeport
frontend(前端)和 backend(后端)
负载均衡(Server Load Balancer)
方法一
通过命令行工具创建一个 Nginx 应用。 root@master # kubectl run nginx --image=registry.aliyuncs.com/acs/netdia:latest root@master # kubectl get po NAME READY STATUS RESTARTS AGE nginx-2721357637-dvwq3 1/1 Running 1 6s 为 Nginx 应用创建阿里云负载均衡服务,指定 type=LoadBalancer 来向外网用户暴露 Nginx 服务。 root@master # kubectl expose deployment nginx --port=80 --target-port=80 --type=LoadBalancer root@master # kubectl get svc NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE nginx 172.19.XX.XX 101.37.XX.XX 80:31891/TCP 4s 在浏览器中访问 http://101.37.XX.XX,来访问您的 Nginx 服务。
二
方法二 将下面的 yml code 保存到 nginx-svc.yml文件中。 apiVersion: v1 kind: Service metadata: labels: run: nignx name: nginx-01 namespace: default spec: ports: - port: 80 protocol: TCP targetPort: 80 selector: run: nginx type: LoadBalancer 执行kubectl apply -f nginx-svc.yml命令。 root@master # kubectl apply -f nginx-svc.yml root@master # kubectl get service NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE9d ngi-01nx LoadBalancer 172.19.XX.XX 101.37.XX.XX 80:32325/TCP 3h 在浏览器中访问 http://101.37.XX.XX,来访问您的 Nginx 服务。