<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hans-CN">
	<id>https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Nodeport</id>
	<title>Nodeport - 版本历史</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.linuxsa.org/index.php?action=history&amp;feed=atom&amp;title=Nodeport"/>
	<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Nodeport&amp;action=history"/>
	<updated>2026-04-23T11:04:14Z</updated>
	<subtitle>本wiki上该页面的版本历史</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>https://wiki.linuxsa.org/index.php?title=Nodeport&amp;diff=766&amp;oldid=prev</id>
		<title>Evan：​导入1个版本</title>
		<link rel="alternate" type="text/html" href="https://wiki.linuxsa.org/index.php?title=Nodeport&amp;diff=766&amp;oldid=prev"/>
		<updated>2019-10-14T13:52:28Z</updated>

		<summary type="html">&lt;p&gt;导入1个版本&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新页面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;=原因和分析=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
(1)找到pod所在节点，从pod所在k8s节点上通过{nodeIp}:{nodePort}访问，如果访问不了，可能是pod或service没有成功部署；&lt;br /&gt;
&lt;br /&gt;
(2)从其它node节点通过{nodeIp}:{nodePort}访问，如果不能访问，执行&lt;br /&gt;
&lt;br /&gt;
kubectl describe pod {podName} -n={namespace}&lt;br /&gt;
&lt;br /&gt;
查看pod描述信息，找到pod ip，直接对着pod访问{podIp}:{containerPort}，如果无法访问，尝试ping一下{podIp}，如果ping不通，说明k8s节点之间docker容器网络不通，需要安装网络组件如flannel之类；&lt;br /&gt;
&lt;br /&gt;
(3)从master节点通过{nodeIp}:{nodePort}访问，如果node节点可以访问{nodePort}而master节点无法访问，执行&lt;br /&gt;
netstat -nlp | grep {nodePort}&lt;br /&gt;
&lt;br /&gt;
查看{nodePort}端口是否有服务在监听，正常会看到类似：&lt;br /&gt;
tcp6       0      0 :::30804                :::*                    LISTEN      3089/kube-proxy&lt;br /&gt;
&lt;br /&gt;
说明nodePort 30804端口正在被kube-proxy服务在3089进程监听，如果没有则可能是没有启动kube-proxy服务，在k8s里面service相关的功能是依赖kube-proxy实现的。&lt;br /&gt;
&lt;br /&gt;
master节点无须启动kubelet和kube-proxy服务，如果想从master节点访问service，可以在master节点上启动kube-proxy服务，如果想让pod调度到master节点，可以启动kubelet服务&lt;br /&gt;
&lt;br /&gt;
或者master node also&lt;br /&gt;
&lt;br /&gt;
master 也当作node  这里的master hostname 为	ubuntu18OB&lt;br /&gt;
evan@ubuntu18:~$ kubectl  taint node ubuntu18 node-role.kubernetes.io/master-&lt;br /&gt;
node/ubuntu18 untainted&lt;br /&gt;
&lt;br /&gt;
#master only&lt;br /&gt;
kubectl  taint node ubuntu18 node-role.kubernetes.io/master=&amp;quot;&amp;quot;:NoSchedule&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=现象=&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
evan@k8s-master:~$ kubectl apply -f httpd-svc.yml &lt;br /&gt;
service/httpd-svc created&lt;br /&gt;
evan@k8s-master:~$ kubectl get service httpd-svc &lt;br /&gt;
NAME        TYPE       CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE&lt;br /&gt;
httpd-svc   NodePort   10.99.34.189   &amp;lt;none&amp;gt;        8080:31101/TCP   14s&lt;br /&gt;
evan@k8s-master:~$ sudo netstat  -nlpt | grep 31101&lt;br /&gt;
&lt;br /&gt;
#用上master ip访问不了  不过我的master不是node &lt;br /&gt;
evan@k8s-master:~$ curl 192.168.88.58:31101&lt;br /&gt;
curl: (7) Failed to connect to 192.168.88.58 port 31101: Connection refused&lt;br /&gt;
evan@k8s-master:~$ curl 192.168.88.59:31101&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;It works!&amp;lt;/h1&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;evan@k8s-master:~$ &lt;br /&gt;
evan@k8s-master:~$ curl 192.168.88.60:31101&lt;br /&gt;
&amp;lt;html&amp;gt;&amp;lt;body&amp;gt;&amp;lt;h1&amp;gt;It works!&amp;lt;/h1&amp;gt;&amp;lt;/body&amp;gt;&amp;lt;/html&amp;gt;evan@k8s-master:~$ &lt;br /&gt;
evan@k8s-master:~$ sudo ps -ef | grep kube-prox&lt;br /&gt;
evan     29440 14359  0 11:31 pts/0    00:00:00 grep --color=auto kube-prox&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
evan@k8s-master:~$ kubectl get service&lt;br /&gt;
NAME              TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE&lt;br /&gt;
example-service   NodePort    10.111.31.36    &amp;lt;none&amp;gt;        80:30046/TCP     3d4h&lt;br /&gt;
&lt;br /&gt;
evan@k8s-master:~$ kubectl delete deployments/nginx services/example-service &lt;br /&gt;
service &amp;quot;example-service&amp;quot; deleted&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
=see also=&lt;br /&gt;
[https://blog.csdn.net/weixin_38380858/article/details/88830853 kubernetes踩坑：nodePort拒绝访问的问题]&lt;br /&gt;
&lt;br /&gt;
[[category:k8s]]&lt;/div&gt;</summary>
		<author><name>Evan</name></author>
	</entry>
</feed>