阿里云手动搭建k8s搭建中遇到的问题解决(持续更新)
ETCD搭建
- systemd启动etcd服务的时候出现错误:Failed at step CHDIR spawning /usr/bin/etcd: No such file or directory
解决办法:etcd.service服务配置文件中设置的工作目录WorkingDirectory=/var/lib/etcd/必须存在,否则会报以上错误
- systemd启动etcd服务的时候出现错误:cannot assign requested address
解决办法:绑定阿里云的私网IP
- dial tcp 127.0.0.1:4001: getsockopt: connection refused
解决办法:ETCD_LISTEN_CLIENT_URLS需要配置http://127.0.0.1:2379,特别注意,此处是http而不是https
- flannel
- failed to retrieve network config: 100: Key not found (/atomic.io)
解决办法:/etc/sysconfig/flanneld中的内容,FLANNEL_ETCD_PREFIX很可能是/atomic.io/network,将其改为/coreos.com/network。或者也可以通过-etcd-prefix指定
- failed to retrieve network config: invalid character '.' after object key:value pair
解决办法:这种问题一般是向etcd中导入网络信息的时候出错了,检查写入的字符的中英文,ip地址是否有引号等语法问题
- 新增etcd节点后,启动systemd服务出现Job for etcd.service failed because a timeout was exceeded
解决办法:首先确保服务配置正确。出现该问题的原因可能时因为etcd的data-dir中的残留信息导致的,删除data-dir中的内容,重新启动etcd服务
- 部署app的时候出现类似如下错误,这种一般是模板中定义的类型错误引起的,如下错误为 v1.ObjectMeta: Annotations: ReadString: expects " or n, but found t,可以查看Annotations中是否有错误
Error from server (BadRequest): error when creating "sample-app.deploy.yaml": Deployment in version "v1beta2" cannot be handled as a Deployment: v1beta2.Deployment: Spec: v1beta2.DeploymentSpec: Template: v1.PodTemplateSpec: ObjectMeta: v1.ObjectMeta: Annotations: ReadString: expects " or n, but found t, error found in #10 byte of ...|/scrape":true},"labe|..., bigger context ...|rometheus.io/port":"","prometheus.io/scrape":true},"labels":{"app":"sample-app"}},"spec":{"conta|...
- kubelet
- 启动kubelet的时候出现如下错误,导致kubelet启动失败。查看kube-apiserver节点的系统日志messages,可以看到错误日志“authentication.go:64] Unable to authenticate the request due to an error: [invalid bearer token, [invalid bearer token, invalid bearer token]]”,检查kuber-apiserver启动参数中的token.csv和kubelet启动参数中指定的bootstrap文件bootstrap.kubeconfig中的token值是否一致,此外该token必须为实际数值,不能使用变量代替。出现网络错误日志的原因是部署中使用了flannel插件。
Mar :: node1 kubelet[]: W0322 ::00.078565 cni.go:] Unable to update cni config: No networks found in /etc/cni/net.d
Mar :: node1 kubelet[]: I0322 ::00.081847 server.go:] Version: v1.10.0-alpha.
Mar :: node1 kubelet[]: I0322 ::00.081897 feature_gate.go:] feature gates: &{{} map[]}
Mar :: node1 kubelet[]: I0322 ::00.081960 plugins.go:] No cloud provider specified.
Mar :: node1 kubelet[]: F0322 ::00.106954 server.go:] failed to run Kubelet: cannot create certificate signing request: Unauthorized
疑问解决
kubelet使用tls bootstrapping功能时,kubeconfig文件中指定的了token,为何设置集群参数的时候还需要指定CA公钥?
# 设置集群参数
kubectl config set-cluster kubernetes \
--certificate-authority=/etc/kubernetes/ssl/ca.pem \
--embed-certs=true \
--server=${KUBE_APISERVER} \
--kubeconfig=bootstrap.kubeconfig
# 设置客户端认证参数
kubectl config set-credentials kubelet-bootstrap \
--token=${BOOTSTRAP_TOKEN} \
--kubeconfig=bootstrap.kubeconfig
原因是,kubelet使用bootstrap功能时,需要使用ca证书通过apiserver的认证,使用token进行授权。证书和token分别属于两个阶段使用的内容。
k8s中哪些组件需要进行tls证书认证,哪些不需要?
kube-scheduler、kube-controller-manager 一般和 kube-apiserver 部署在同一台机器上,它们使用非安全端口和 kube-apiserver通信,非安全端口默认为http的8080,可以使用--insecure-port指定,监听非安全端口的地址默认为127.0.0.1,可以使用--insecure-bind-address指定;
kubelet、kube-proxy、kubectl 部署在其它 Node 节点上,如果通过安全端口访问 kube-apiserver,则必须先通过 TLS 证书认证,再通过 RBAC 授权。安全端口默认为https的6443,可以使用--secure-port指定,监听安全端口的地址默认为0.0.0.0(监听所有接口),可以使用--bind-address指定。
阿里云手动搭建k8s搭建中遇到的问题解决(持续更新)的更多相关文章
- 阿里云ECS服务器环境搭建——ubuntu16.04图形界面的安装
阿里云ECS服务器环境搭建——ubuntu16.04图形界面的安装 最近琢磨着想在服务器上搭建一个hexo博客,于是就在阿里云上买了一个云服务器ECS,远程接入后默认给的是一个命令窗口,没有图形界面, ...
- 阿里云ECS服务器环境搭建(1) —— ubuntu 16.04 图形界面的安装
阿里云ECS服务器环境搭建(1) —— ubuntu 16.04 图形界面的安装1. 背景在我们购买阿里云ECS服务器之后,默认的系统环境是很干净的,我购买的是ubuntu16.04,远程登录进入之后 ...
- ECS7天实践进阶训练营Day1:使用阿里云ECS,快速搭建、管理VuePress静态网站
一.概述 VuePress是2018年由尤雨溪发布的一个全新的基于Vue的静态网站生成器,它是一个非常轻量级的静态网站生成器.VuePress主要用于生成技术文档,其类似于Gitbook,我们可以用于 ...
- 阿里云ECS服务器上搭建keepalived+mha+mysql5.6+gtid+一主两从+脚本判断架构踩的坑
最近,公司项目搭建了一套后端数据库架构,不是在RDS,是在阿里云的ECS服务器上搭建keepalived.mha.mysql5.6.gtid.一主两从架构,目前还没有实现读写分离,以后架构升级,可能代 ...
- 阿里云ubuntu 16.04搭建odoo11服务器
ubuntu 16.04 具体如何搭建odoo11网站的具体步骤可以参考这一篇文章 按上面的文章配置环境后,自己网站的启动具体步骤如下: 1.登录阿里云 [远程连接],进入命令行界面1 2.cd到目录 ...
- 阿里云学生服务器+WordPress搭建个人博客
搭建过程: 第一步:首先你需要一台阿里云服务器ECS,如果你是学生,可以享受学生价9.5元/月 (阿里云翼计划:https://promotion.aliyun.com/ntms/act/campus ...
- 阿里云ubuntu 16.04 搭建pptpd 第二版
前言:1.我常用的服务器在国内,但我又有某方面的需求,所以想要搭建一个pptpd的服务器 2.但我又不常用,所以感觉阿里云包年包月的不划算,所以准备采用阿里云按量付费的实例来搭建pptpd,并形 ...
- 阿里云数据库RDS环境搭建
前言 现在云数据库越来越流行,国外的亚马逊AWS微软Azure,国内的BAT和京东都推出了自己的云数据库服务,各自优劣不表,个人推荐国外的用AWS,国内的用阿里云,这是我这几天刚申请的阿里云的过程的一 ...
- 阿里云轻量级学生机搭建FTP最新教程
碰了几次壁,我整理一下分析自己在阿里云上成功安装FTP的教程. 1.使用root用户进入云服务器. 2.rpm -qa|grep vsftpd 查看是否安装了ftp,一般阿里云服务器你以前没安装过, ...
随机推荐
- python-scrapy的编码问题
在学习scrapy中,遇到编码问题还是很头痛的问题的.由于对于语言的对不熟悉,加上不会思考的去解决问题.这样盲目的实践似乎就是在浪费时间. 用心思考一下是非常重要的一个过程,在没有办法前进的时候,先学 ...
- Linux sed 和 awk的用法
sed用法: 原文链接:http://www.cnblogs.com/dong008259/archive/2011/12/07/2279897.html sed是一个很好的文件处理工具,本身是一个管 ...
- Luogu P1690 贪婪的Copy
题目描述 Copy从卢牛那里听说在一片叫yz的神的领域埋藏着不少宝藏,于是Copy来到了这个被划分为个区域的神地.卢牛告诉了Copy这里共有个宝藏,分别放在第Pi个(1<=Pi<=N)区域 ...
- mysql数据库导入导出 查询 修改表记录
mysql数据导入导出: 导入: 把系统的文件的内容,保存到数据库的表里 导入数据的基本格式:mysql> load data infile "文件名" into table ...
- Linux(二)命令
Linux命令一.命令基本格式 命令行头部显示字符意义 [root@localhost ~] # root 用户名 localhost 主机名 ~ 当前目录 ~表示home目录 # 用户权限,#表示超 ...
- PHP 常量dirname(__file__)
PHP 常量dirname(__FILE__)取得当前文件的绝对路径. define('ROOT_PATH', str_replace('includes/2.php', '', str_replac ...
- [linux]device eth0 does not seem to be present, delaying initialization
mlite虚拟机启动出错,就把这个虚拟机删除掉重新建立,系统虚拟硬盘使用之前的,启动系统后不能上网,通过ifconfig查看网卡没启动,遂启动网卡服务,但是出错,就是:device eth0 does ...
- phpcmsv9更换模板介绍
先分享下大概的步骤: 1.上传模版文件到服务器:2.在站点管理 里边[模板风格配置]选择新模板:3.设置不同模型对应模板:4.修改现有的栏目,匹配新模板:5.更新栏目缓存.系统缓存,更新HTML静态页 ...
- WebService之CXF注解之一(封装类)
Teacher.java: /** * @Title:Teacher.java * @Package:com.you.model * @Description:老师封装类 * @author:Youh ...
- C# 文件copy和文件删除
C# 文件copy和文件删除 public bool CopyFile(string SourcePath, string CopyPathFoder) { bool bfg = false; if ...