Serive暴露

来自linux中国网wiki
跳到导航 跳到搜索

暴露服务的方式有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 服务。

通过 Kubernetes Dashboard 操作

see also

aliyun 通过负载均衡(Server Load Balancer)访问服务

创建服务