Kubernetes-NodePort(十七)

1 NodePort介绍

1.1 概念

  将创建的服务类型设置为NodePort,通过创建NodePort服务,让K8S在其他所有节点上保留一个端口(所有节点上都使用相同的端口号),并将传入的连接转发给作为服务部分的pod。

1.2 缺点

  1. 每个端口只能为一种服务;
  2. 端口是有范围的,为30000~32767

2 NodePort使用

2.1 创建

创建NodePort类型的Service yml模板

by k8s in actions

$ kubectl create -f xxx.yml

2.2 查看

查看NodePort类型的服务
$ kubectl get svc service_name
举例
get svc
其中:
1)EXTERNAL-IP值为nodes,则表明服务可通过任何集群节点的IP地址访问。
2)PORT(S)值为集群IP内部端口为80,节点端口为30123,访问方式如下:

  • 10.11.254.223:80
  • <node1’s ip>:30123
  • <node2’s ip>:30123
    … …

补充

为什么负载均衡器放在节点前面?
  防止故障节点影响整个应用服务的访问。因为只将客户端指向其中一个节点,如果该节点发生故障的时候,客户端就无法访问服务,无法达到高可用的效果,如果将负载均衡器放在节点的前面,可以确保发送的请求传播到所有健康的节点,就算部分节点发生故障,对于客户端而言,总会有健康的节点提供服务,请求不会发送到当时处于脱机状态的节点上。

参考《k8s in action》

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Kubernetes Dashboard 是 Kubernetes 官方提供的一个 Web 界面,用于管理 Kubernetes 集群。以下是部署 Kubernetes Dashboard 的步骤: 1. 下载 Kubernetes Dashboard YAML 文件: ```bash curl -LO https://raw.githubusercontent.com/kubernetes/dashboard/v2.4.0/aio/deploy/recommended.yaml ``` 2. 修改 Kubernetes Dashboard Service 类型: 将 recommended.yaml 文件中的 Service 类型从 ClusterIP 修改为 NodePort,这样可以通过 Node 的 IP 地址加端口号访问 Kubernetes Dashboard。 ```yaml apiVersion: v1 kind: Service metadata: name: kubernetes-dashboard namespace: kubernetes-dashboard labels: k8s-app: kubernetes-dashboard spec: type: NodePort # 将类型修改为 NodePort ports: - port: 443 targetPort: 8443 selector: k8s-app: kubernetes-dashboard ``` 3. 部署 Kubernetes Dashboard: ```bash kubectl apply -f recommended.yaml ``` 4. 创建 Service Account: ```bash cat <<EOF | kubectl apply -f - apiVersion: v1 kind: ServiceAccount metadata: name: admin-user namespace: kubernetes-dashboard EOF ``` 5. 创建 Cluster Role Binding: ```bash cat <<EOF | kubectl apply -f - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: admin-user roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-admin subjects: - kind: ServiceAccount name: admin-user namespace: kubernetes-dashboard EOF ``` 6. 获取 Token: ```bash kubectl -n kubernetes-dashboard describe secret $(kubectl -n kubernetes-dashboard get secret | grep admin-user | awk '{print $1}') ``` 7. 访问 Kubernetes Dashboard: 使用浏览器访问 Node 的 IP 地址加端口号,输入 Token 登录即可。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值