Kubernetes集群搭建过程中遇到的问题
2015-11-26 16:40
681 查看
1. 创建Nginx Pod过程中报如下错误:
#kubectlcreate -f nginx-pod.yaml
解决方法:
1> 修改/etc/kubernetes/apiserver文件中KUBE_ADMISSION_CONTROL参数。
修改前:
去掉“ServiceAccount”选项。
2> 重启kube-apiserver服务
# systemctl restart kube-apiserver。
2. 创建Pod过程中,显示异常,通过查看日志/var/log/messages,有以下报错信息:
解决方法有两种:
第一种方法:
# vim /usr/lib/systemd/system/kube-apiserver.service
# systemctl daemon-reload
# systemctl restart kube-apiserver
第二种方法:
# vim /etc/kubernetes/apiserver
在KUBE_API_ARGS加上--secure-port=0参数。
原因如下:
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
#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
相关文章推荐
- android 设置细文字体。
- 取本周累计
- iOS 编写与圆有关的控件
- Vmware变慢的解决方案
- ContentProvider使用详解
- 让并发和容错更容易:Akka示例教程
- 92 Examine the output of the query that you executed to list the objects in the recycle bin: SQL> SE
- 什么是国际化
- JAVA8新特性
- JVM(3)--垃圾收集
- FreeRTOS系列第4篇---FreeRTOS编码标准及风格指南
- MySQL主从的一致性校验及修复
- 常见浏览器兼容性问题与解决方案
- canvas写的立方体动画
- 手机测试之"小区广播"
- phpDoc
- unset 销毁变量时释放内存吗
- List<T>中对比Contains, Exists, Any之间的优缺点
- Android错误——The connection to adb is down, and a severe error has occured 解决方案
- Spring集成ActiveMQ配置 --转