当我按照教材设置证书,配置好kube-controller的相关条件后,启动kube-controller-manage组件,却意外报错。

一、基本信息如下:

1. kube-controller-manager.service 文件如下

[Unit]
Description=kubernetes controller-manager service
After=network.target
After=network-online.target
Wants=network-online.target
# because the etcd service isn't in this machine
# After=etcd.service
# Wants=etcd.service

[Service]
EnvironmentFile=/k8s/kubernetes/cfg/kube-controller-manager-env
ExecStart=/k8s/kubernetes/bin/kube-controller-manager \
--port=0 \
--secure-port=10252 \
--bind-address=127.0.0.1 \
--kubeconfig=${KUBECONFIG} \
--authentication-kubeconfig=${KUBECONFIG} \
--authorization-kubeconfig=${KUBECONFIG} \
--service-cluster-ip-range=${SERVICE_CLUSTER_IP_RANGE} \
--cluster-name=kubernetes \
--cluster-signing-cert-file=/k8s/kubernetes/ssl/k8s-ca.pem \
--cluster-signing-key-file=/k8s/kubernetes/ssl/k8s-ca-key.pem \
--experimental-cluster-signing-duration=8760h \
--root-ca-file=/k8s/kubernetes/ssl/k8s-ca.pem \
--service-account-private-key-file=/k8s/kubernetes/ssl/k8s-ca-key.pem \
--leader-elect=true \
--feature-gates=RotateKubeletServerCertificate=true \
--controllers=*,bootstrapsigner,tokencleaner \
--horizontal-pod-autoscaler-use-rest-clients=true \
--horizontal-pod-autoscaler-sync-period=10s \
--tls-cert-file=/k8s/kubernetes/ssl/kube-controller-manager-server.pem \
--tls-private-key-file=/k8s/kubernetes/ssl/kube-controller-manager-server-key.pem \
--use-service-account-credentials=true \
--alsologtostderr=true \
--logtostderr=false \
--log-dir=${LOG_DIR} \
--v=4
LimitNOFILE=1000000
User=root

[Install]
WantedBy=multi-user.target

2. 环境配置文件,如下

KUBECONFIG="/k8s/kubernetes/cfg/kube-controller-manager.kubeconfig"
SERVICE_CLUSTER_IP_RANGE="10.0.0.0/24"
LOG_DIR="/var/log/k8s/kube-controller-manager"

3. 错误信息如下:

configmaps "extension-apiserver-authentication" is forbidden: User "kubernetes" cannot get resource "configmaps" in API group ""

二、错误原因和修复

后面发现根本不是configmap无权限或config文件生成有误。而是我们的kube-controller-manager.service.文件中参数开启了[非安全模式http]“--port=0”导致。

当我们删除配置文件1中的两行标黄的参数后,再重新执行服务启动命令,这次发现kube-controller-manager成功启动了。

备注:参数【安全模式https】“--secure-port=10252”一定要去掉,否则启动服务会报错“10252 已经被使用”

root >> systemctl daemon-reload

root >> systemctl restart kube-controller-manager

root >> netstat -nltp | grep kube

root >> kubectl get cs

root >> journalctl -u kube-controller-manager --since '2019-05-25 18:33:00'

最新文章

  1. hihocoder挑战赛13A
  2. senlin __init__() got an unexpected keyword argument 'additional_headers'
  3. 【Java讨论】引用类型赋值为null对加速垃圾回收的作用(转载)
  4. [knowledge][basic][hardware] 内存的硬件结构(转)
  5. edgesForExtendedLayout、extendedLayoutIncludesOpaqueBars、automaticallyAdjustsScrollViewInsets属性详解 )——转载
  6. 【nodejs】关于 alert 和 document
  7. [转]在64位的环境中使用VS建立Web项目进行Oracle连接需要注意WebDev是32位的
  8. svn修改密码跟账户
  9. hdoj 2199 Can you solve this equation?【浮点型数据二分】
  10. 打开WEBBROWSER的选中文件路径
  11. PHPSTORM实用快捷键
  12. java导出生成csv文件
  13. Java中常见的数据结构的区别
  14. echarts柱状图 渐变色
  15. Flask系列05--Flask的配置config
  16. openstack horizon 开发第二天
  17. 1.1.6版本Druid连接MSSQLServer 2008 R2报错The query timeout value -1 is not valid. #2210
  18. 第1章 Python基础-Python介绍&循环语句 练习题&作业
  19. DIOCP开源项目-DIOCP3的重生和稳定版本发布
  20. NiFi REST API 的使用

热门文章

  1. VirtualBox中使用双网卡实现CentOS既能上网(校园网)也能使用SSHclient
  2. python的pexpect模块
  3. 【python】How to change the Jupyter start-up folder
  4. NPOI实现Excel导入
  5. 《写给大忙人看的java》笔记--基本的编程结构
  6. Hashed Indexes Geospatial Index
  7. POJ 1737 Connected Graph(高精度+DP递推)
  8. super究竟是个啥?
  9. 细说align 的作用及用法
  10. HDU3567 Eight II —— IDA*算法