在尝试systemctl start kube-apiserver
时,我在syslog中收到以下错误
12月8日16:29:42 mySystem systemd[8722]:kube-apiserver.service:失败执行命令:权限被拒绝12月8日16:29:42 mySystemsystemd[8722]:kube-apiserver.service:在步骤EXEC生成时失败/usr/local/bin/kube apiserver:权限被拒绝12月8日16:29:42mySystem systemd[1]:kube-apiserver.service:主进程已退出,代码=已退出,状态=203/EXEC 12月8日16:29:42 mySystem systemd[1]:kube-apiserver.service:失败,结果为"退出代码"。
我的系统配置如下所示:
〔Unit〕描述=Kubernetes API服务器文件=https://github.com/kubernetes/kubernetes
[Service]User=kube apiserver ExecStart=/usr/local/bin/kube apiserver\--播发地址=\--允许特权=true\--apiserver计数=3 \--审核日志最大值=30 \--审核记录最大备份=3 \-审核日志最大大小=100 \-审核记录路径=/var/log/audit.log \-授权模式=节点,RBAC \-绑定地址=0.0.0.0\--client ca file=/var/lib/kubernetes/ca.crt \--enable admission-plugins=NodeRestriction,ServiceAccount\--enable swagger ui=true\--enable bootstrap token auth=true\--etcd cafile=/var/lib/kubernetes/ca.crt\--etcd certfile=/var/libr/kubernetes/etcd-server.crt\--etcd keyfile=/var/lib/kubennetes/eccd-server.key\--etcd-servers=http://:2380\--event ttl=1h\--加密提供程序配置=/var/lib/kubernetes/ecryption-config.yaml\--kubelet证书颁发机构=/var/lib/kubernetes/ca.crt\--kubelet客户端证书=/var/lib/kubernetes/kube-apiserver.crt \--kubelet客户端密钥=/var/lib/kubernetes/kube-apiserver.key \--kubelet https=true \--运行时配置=api/all \--服务帐户密钥文件=/var/lib-kubernetes/service-apiserver.chrt \--服务群集ip范围=10.96.0/24\--服务节点端口范围=30000-32767 \--tls证书文件=/var/lib/kubernetes/kube-apiserver-crt \--tls私钥文件=/var/lib/kubernetes/kube-apiserver.key\--v=2 Restart=失败时RestartSec=5
[Install]WantedBy=多用户目标
作为背景,我正在为一些学习目的进行手动kube部署。
在您提供的信息中,我怀疑您有一些权限/特权问题,这表明了这个错误:
"Failed at step EXEC spawning /usr/local/bin/kube-apiserver: Permission denied"
您正在尝试使用User=kube-apiserver
启动服务,我认为它没有足够的权限。
如果你想学习如何自己引导Kubernetes集群,有两种很好的方法:
1。使用Kubeadm
可以创建和管理Kubernetes集群。它执行必要的操作,以便以用户友好的方式建立并运行最小可行、安全的集群。
以下是如何安装它,以及如何创建集群的信息。
- 与Kelsey的Kubernetes的艰难之路。这是与kubeadm相反的方法,它将引导您完成增强Kubernetes集群的所有步骤/任务
它有一节关于使用kubernetes二进制文件手动引导kubernetes集群,还有一节关于API服务器。