• 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

       

       

       

  • 相关阅读:
    9个数中取最大值最小值速度问题
    ubuntu 12.04安装git 1.8.11
    <转>Win7资源管理器更新后不断重启解决方案
    windows下安装安卓开发环境和NDK支持
    饱和算法
    bzip21.0.6
    《转》GetFileTitle与文件扩展名是否显示有关
    Ubuntu设置环境变量PATH的三种方法 <转>
    ubuntu下使用脚本交叉编译windows下使用的ffmpeg
    UnxUtils windows下linux命令
  • 原文地址:https://www.cnblogs.com/ivictor/p/4998032.html
Copyright © 2020-2023  润新知