二进制部署K8S集群(二十)K8s服务暴露之NodePort型Service
2021/7/23 17:11:23
本文主要是介绍二进制部署K8S集群(二十)K8s服务暴露之NodePort型Service,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
目录- 1.创建NodePort型Service资源清单
- 2.通过edit将ClusterIP改变成NodePort
集群外访问:用户-->域名-->负载均衡器-->NodeIP:Port(ServiceIP)-->Pod IP:端口
1.创建NodePort型Service资源清单
[root@hdss7-21 ~]# kubectl create deployment nginx-dp --image=harbor.od.com/public/nginx:v1.7.9 -n kube-public --replicas=2 [root@hdss7-21 ~]# kubectl expose deployment nginx-dp --port=80 -n kube-public service/nginx-dp exposed # 默认创建clusterIP,只允许内网访问集群IP [root@hdss7-21 ~]# kubectl get all -n kube-public NAME READY STATUS RESTARTS AGE pod/nginx-dp-7f74c75ff9-8vzx8 1/1 Running 0 <invalid> pod/nginx-dp-7f74c75ff9-9cwnt 1/1 Running 0 <invalid> NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/nginx-dp ClusterIP 192.168.128.131 <none> 80/TCP 41s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/nginx-dp 2/2 2 2 68s NAME DESIRED CURRENT READY AGE replicaset.apps/nginx-dp-7f74c75ff9 2 2 2 <invalid> [root@hdss7-21 ~]# cat > svc.yml <<'eof' # 创建NodePort型service apiVersion: v1 kind: Service metadata: labels: k8s-app: nginx-dp-svc name: nginx-dp-svc namespace: kube-public spec: type: NodePort ports: - port: 80 nodePort: 3010 protocol: TCP selector: app: nginx-dp sessionAffinity: None eof [root@hdss7-21 ~]# kubectl create -f svc.yml service/nginx-dp created [root@hdss7-21 ~]# kubectl get all -n kube-public --show-labels -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES LABELS pod/nginx-dp-7f74c75ff9-9gx2k 1/1 Running 0 <invalid> 172.7.22.3 hdss7-22.host.com <none> <none> app=nginx-dp,pod-template-hash=7f74c75ff9 pod/nginx-dp-7f74c75ff9-r9kgx 1/1 Running 0 <invalid> 172.7.21.4 hdss7-21.host.com <none> <none> app=nginx-dp,pod-template-hash=7f74c75ff9 NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR LABELS service/nginx-dp ClusterIP 192.168.96.174 <none> 80/TCP 6m5s app=nginx-dp app=nginx-dp service/nginx-dp-svc NodePort 192.168.20.171 <none> 80:3010/TCP 85s app=nginx-dp k8s-app=nginx-dp-svc NAME READY UP-TO-DATE AVAILABLE AGE CONTAINERS IMAGES SELECTOR LABELS deployment.apps/nginx-dp 2/2 2 2 6m12s nginx harbor.od.com/public/nginx:v1.7.9 app=nginx-dp app=nginx-dp NAME DESIRED CURRENT READY AGE CONTAINERS IMAGES SELECTOR LABELS replicaset.apps/nginx-dp-7f74c75ff9 2 2 2 <invalid> nginx harbor.od.com/public/nginx:v1.7.9 app=nginx-dp,pod-template-hash=7f74c75ff9 app=nginx-dp,pod-template-hash=7f74c75ff9
2.通过edit将ClusterIP改变成NodePort
kubectl edit svc nginx-dp -n kube-public spec: clusterIP: 192.168.96.174 ports: - port: 80 protocol: TCP targetPort: 80 selector: app: nginx-dp sessionAffinity: None type: NodePort # 清加nodeport [root@hdss7-21 ~]# kubectl get all -n kube-public NAME READY STATUS RESTARTS AGE pod/nginx-dp-7f74c75ff9-9gx2k 1/1 Running 0 <invalid> pod/nginx-dp-7f74c75ff9-r9kgx 1/1 Running 0 <invalid> NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/nginx-dp NodePort 192.168.96.174 <none> 80:27051/TCP 15m service/nginx-dp-svc NodePort 192.168.20.171 <none> 80:3010/TCP 11m NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/nginx-dp 2/2 2 2 15m NAME DESIRED CURRENT READY AGE replicaset.apps/nginx-dp-7f74c75ff9 2 2 2 <invalid>
这篇关于二进制部署K8S集群(二十)K8s服务暴露之NodePort型Service的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-15在Kubernetes (k8s) 中搭建三台 Nginx 服务器怎么实现?-icode9专业技术文章分享
- 2024-11-05基于Kubernetes的自定义AWS云平台搭建指南
- 2024-11-05基于Kubernetes Gateway API的现代流量管理方案
- 2024-11-05在Kubernetes上部署你的第一个应用:Nginx服务器
- 2024-11-05利用拓扑感知路由控制Kubernetes中的流量
- 2024-11-05Kubernetes中的层次命名空间:更灵活的资源管理方案
- 2024-11-055分钟上手 Kubernetes:精简实用的 Kubectl 命令速查宝典!
- 2024-10-30K8s 容器的定向调度与亲和性
- 2024-10-28云原生周刊:K8s未来三大发展方向 丨2024.10.28
- 2024-10-25亚马逊弹性Kubernetes服务(EKS)实战:轻松搭建Kubernetes平台