Kubernetes集群搭建過程中遇到的問題


1. 創建Nginx Pod過程中報如下錯誤:

    #kubectlcreate -f nginx-pod.yaml

Error from server: error when creating "nginx-pod.yaml": Pod "nginx" is forbidden: no API token found for service account default/default, retry after the token is automatically created and added to the service account

   解決方法:

   1> 修改/etc/kubernetes/apiserver文件中KUBE_ADMISSION_CONTROL參數。

   修改前:

KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,ServiceAccount,ResourceQuota"

   去掉“ServiceAccount”選項。

  2> 重啟kube-apiserver服務

    # systemctl restart kube-apiserver。

 

2. 創建Pod過程中,顯示異常,通過查看日志/var/log/messages,有以下報錯信息: 

Nov 26 21:52:06 localhost kube-apiserver: E1126 21:52:06.697708    1963 server.go:454] Unable to generate self signed cert: open /var/run/kubernetes/apiserver.crt: permission denied
Nov 26 21:52:06 localhost kube-apiserver: E1126 21:52:06.697818    1963 server.go:464] Unable to listen for secure (open /var/run/kubernetes/apiserver.crt: no such file or directory); will try again.

   解決方法有兩種:

       第一種方法:

       # vim /usr/lib/systemd/system/kube-apiserver.service

[Service]
PermissionsStartOnly=true
ExecStartPre=-/usr/bin/mkdir /var/run/kubernetes
ExecStartPre=/usr/bin/chown -R kube:kube /var/run/kubernetes/

        # systemctl daemon-reload

        # systemctl restart kube-apiserver

       第二種方法:

       # vim /etc/kubernetes/apiserver    

KUBE_API_ARGS="--secure-port=0"

      在KUBE_API_ARGS加上--secure-port=0參數。

      原因如下:

--secure-port=6443: The port on which to serve HTTPS with authentication and authorization. If 0, don't serve HTTPS at all.

 

3. 在利用yaml文件創建Pod過程中,報“Error from server:the server could not find the requested resource”

   這個問題最坑,原因是Kubernetes版本太低,雖然node節點的狀態顯示是Ready,但無法創建Pod。

   伴隨現象:在描述節點狀態時,顯示如下,正常的是沒有紅色方框部分。

   

   而且顯示的版本信息如下:

   注意:該版本信息卻與Kubernetes官方提供的yum源中的版本信息吻合:http://cbs.centos.org/repos/virt7-testing/x86_64/os/Packages/

   

   而最新的版本信息為:

   Kubelet Version: v1.0.3.34+b9a88a7d0e357b

   問題原因:

   用了CentOS自帶光盤作為本地yum源,而刪除了CentOS自帶的網絡yum源的配置文件

   解決方法:

   使用CentOS自帶的網絡yum源的配置文件。

PS: 關於Kubernetes集群如何搭建,可參考官方的搭建指南

       https://github.com/kubernetes/kubernetes/blob/release-1.0/docs/getting-started-guides/centos/centos_manual_config.md

   

   

   

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM