Kubernetes根据yaml创建pod的时候8080访问被拒绝报错

发布于 2022-09-07 20:41:36 字数 5157 浏览 16 评论 0

本人首次学习关于Kubernetes的相关知识,根据Kubernetes的权威指南做了一个关于Kubernetes的一个小测试

相关环境是:

centos7   64位

Kubernetes  1.5.2

docker  1.13.1 

etcd  3.2.22

etcd,Kubernetes,docker安装完毕,之后讲防火墙和selinux都关闭了。

防火墙的状态:

[root@localhost kubernetes]# systemctl status  iptables.service  ●
iptables.service - IPv4 firewall with iptables    Loaded: loaded
(/usr/lib/systemd/system/iptables.service; disabled; vendor preset:
disabled)    Active: inactive (dead) since 五 2018-08-10 16:05:50
CST; 32min ago   Process: 13907
ExecStop=/usr/libexec/iptables/iptables.init stop (code=exited,
status=0/SUCCESS)   Process: 12874
ExecStart=/usr/libexec/iptables/iptables.init start (code=exited,
status=0/SUCCESS)  Main PID: 12874 (code=exited, status=0/SUCCESS)

8月 10 16:05:50 localhost.localdomain systemd[1]: Stopping IPv4
firewall with iptables... 8月 10 16:05:50 localhost.localdomain
iptables.init[13907]: iptables: Setting chains to policy…  ] 8月 10
16:05:50 localhost.localdomain iptables.init[13907]: iptables:
Flushing firewall rules:…  ] 8月 10 16:05:50 localhost.localdomain
iptables.init[13907]: iptables: Unloading modules: [  确定  ] 8月 10
16:05:50 localhost.localdomain systemd[1]: Stopped IPv4 firewall with
iptables. Warning: Journal has been rotated since unit was started.
Log output is incomplete or unavailable. Hint: Some lines were
ellipsized, use -l to show in full.

selinux的状态:

[root@localhost kubernetes]# getenforce 
Disabled

写了关于yaml文件(该文件是摘录书中的)

启动了如下服务:

systemctl start docker

systemctl start kube-apiserver 
 systemctl start kube-controller-manager
 systemctl start kube-scheduler
 systemctl start kubelet
 systemctl start kube-proxy

查看服务:

[root@localhost kubernetes]# ps -ef | grep kube  kube      14403    
 1  0 16:29 ?        00:00:00 /usr/bin/kube-controller-manager
--logtostderr=true --v=0 --master=http://127.0.0.1:8080 kube      14416      1  1 16:29 ?        00:00:00 /usr/bin/kube-scheduler
--logtostderr=true --v=0 --master=http://127.0.0.1:8080 root      14427      1  3 16:29 ?        00:00:00 /usr/bin/kubelet
--logtostderr=true --v=0 --api-servers=http://127.0.0.1:8080 --address=127.0.0.1 --hostname-override=127.0.0.1 --allow-privileged=false --pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest
root      14477      1  3 16:29 ?        00:00:00 /usr/bin/kube-proxy
--logtostderr=true --v=0 --master=http://127.0.0.1:8080

然后创建pod:

kubectl create -f /root/yaml/mysql-rc.yaml

报错信心如下:

The connection to the server localhost:8080 was refused - did you specify the right host or port?

查看端口8080:

netstat -an  | grep 8080     没有任何信息

  

查看网上相关信息,修改如下两处:

1)说是修改监听的地址,所有修改如下文件:

./apiserver:#KUBE_API_ADDRESS="--insecure-bind-address=0.0.0.0"
./config:#KUBE_MASTER="--master=http://0.0.0.0:8080"
./kubelet:#KUBELET_ADDRESS="--address=0.0.0.0"
./kubelet:#KUBELET_API_SERVER="--api-servers=http://0.0.0.0:8080"

然后重新启动了:

systemctl restart kube-apiserver 
 systemctl restart kube-controller-manager
 systemctl restart kube-scheduler
 systemctl restart kubelet
 systemctl restart kube-proxy

查看服务:

[root@localhost kubernetes]# ps -ef | grep kube 
kube      14403      1  0 16:29 ?        00:00:00 /usr/bin/kube-controller-manager --logtostderr=true --v=0 --master=http://0.0.0.0:8080
kube      14416      1  1 16:29 ?        00:00:00 /usr/bin/kube-scheduler --logtostderr=true --v=0 --master=http://0.0.0.0:8080
root      14427      1  3 16:29 ?        00:00:00 /usr/bin/kubelet --logtostderr=true --v=0 --api-servers=http://0.0.0.0:8080 --address=0.0.0.0 --hostname-override=127.0.0.1 --allow-privileged=false --pod-infra-container-image=registry.access.redhat.com/rhel7/pod-infrastructure:latest
root      14477      1  3 16:29 ?        00:00:00 /usr/bin/kube-proxy --logtostderr=true --v=0 --master=http://0.0.0.0:8080
查看端口8080:

[root@localhost kubernetes]# netstat -anltp | grep 8080 
[root@localhost kubernetes]#

为什么服务起来了,端口为什么没有监听呀?

2)修改apiserver文件中的KUBE_ADMISSION_CONTROL将ServiceAccount去掉

KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ResourceQuota"

重新启动:

systemctl restart kube-apiserver

根据上述修改还是报错:

[root@localhost kubernetes]# kubectl create -f /root/yaml/mysql-rc.yaml 
The connection to the server localhost:8080 was refused - did you specify the right host or port?

综上所有问题:

1.为什么没有办法创建pod,为什么说端口被拒绝?

2.服务都起来了为什么端口没有被监听?

求大神们帮帮小弟,看看这是哪里出现了问题?谢谢!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

好久不见√ 2022-09-14 20:41:36

平台很大,但是大家都是过客。心有点凉了
问题自己已经找到造成的原因了。是由于etcd服务没有开启,通过message日志信息查看到的,昨天一直没有注意到kube-apiserver服务是没有启动的,由于启动systemctl start kube-apiserver 的时候没有报错回显。所自己忽略了,还有以后要看日志。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文