k8s通过yaml创建pod_Kubernetes根据yaml创建pod的时候8080访问被拒绝报错
本人首次學習關于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.服務都起來了為什么端口沒有被監聽?
求大神們幫幫小弟,看看這是哪里出現了問題?謝謝!
總結
以上是生活随笔為你收集整理的k8s通过yaml创建pod_Kubernetes根据yaml创建pod的时候8080访问被拒绝报错的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: anaconda+python3.7安装
- 下一篇: 51单片机雾化片自动扫频程序_单片机简介