鍍金池/ 問答/Linux  網(wǎng)絡(luò)安全/ Kubernetes根據(jù)yaml創(chuàng)建pod的時(shí)候8080訪問被拒絕報(bào)錯(cuò)

Kubernetes根據(jù)yaml創(chuàng)建pod的時(shí)候8080訪問被拒絕報(bào)錯(cuò)

本人首次學(xué)習(xí)關(guān)于Kubernetes的相關(guān)知識(shí),根據(jù)Kubernetes的權(quán)威指南做了一個(gè)關(guān)于Kubernetes的一個(gè)小測試

相關(guān)環(huán)境是:

centos7? ?64位

Kubernetes??1.5.2

docker??1.13.1?

etcd??3.2.22

etcd,Kubernetes,docker安裝完畢,之后講防火墻和selinux都關(guān)閉了。

防火墻的狀態(tài):

[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的狀態(tài):

[root@localhost kubernetes]# getenforce?
Disabled

寫了關(guān)于yaml文件(該文件是摘錄書中的)

啟動(dòng)了如下服務(wù):

systemctl start docker

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

查看服務(wù):

[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

然后創(chuàng)建pod:

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

報(bào)錯(cuò)信心如下:

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

查看端口8080:

netstat -an? | grep 8080? ? ?沒有任何信息

??

查看網(wǎng)上相關(guān)信息,修改如下兩處:

1)說是修改監(jiān)聽的地址,所有修改如下文件:

./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"

然后重新啟動(dòng)了:

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

查看服務(wù):

[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]#

為什么服務(wù)起來了,端口為什么沒有監(jiān)聽呀?

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

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

重新啟動(dòng):

systemctl restart kube-apiserver

根據(jù)上述修改還是報(bào)錯(cuò):

[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.為什么沒有辦法創(chuàng)建pod,為什么說端口被拒絕?

2.服務(wù)都起來了為什么端口沒有被監(jiān)聽?

求大神們幫幫小弟,看看這是哪里出現(xiàn)了問題?謝謝!

回答
編輯回答
朕略傻

平臺(tái)很大,但是大家都是過客。心有點(diǎn)涼了
問題自己已經(jīng)找到造成的原因了。是由于etcd服務(wù)沒有開啟,通過message日志信息查看到的,昨天一直沒有注意到kube-apiserver服務(wù)是沒有啟動(dòng)的,由于啟動(dòng)systemctl start kube-apiserver 的時(shí)候沒有報(bào)錯(cuò)回顯。所自己忽略了,還有以后要看日志。

2017年3月8日 02:30