安装过程:
- 所有节点安装docker
- 所有节点安装kubeadm
- 部署master节点:kubeadm init
- 环境变量配置
- 部署网络插件
- 加入worker节点
- master节点污点处理(可选)
- 部署Dashboard可视化插件(可选)
- 部署容器存储插件Rook
问题总结:
- 使用离线源安装docker-ce时,报错:与系统libseccomp2版本冲突,在阿里镜像站下载高版本的deb包解决。
- kubeadm init时,config文件对k8s版本非常敏感,需要查询官网文档,进行编写。
- kubeadm init时,通过在config文件中指定imageRepository,或在命令中指定**–image-repository**选项修改镜像地址,解决无法在线拉取docker镜像的问题。
- kubeadm init时,提示主机名不合法,主机名中不能有下划线。
- kubeadm init时(kubeadm join时也有同样问题),提示必须关闭swap,swapoff -a
- kubeadm init时(kubeadm join时也有同样问题),警告:检测到"cgroupfs"作为Docker cgroup驱动,应该修改为systemd。
- Kubeadm init时(kubeadm join时也有同样问题),拉取镜像报错,提示:server gave HTTP response to HTTPS client,解决方法如下:
root@k8s_master:~# cat /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"],
"insecure-registries":["10.10.50.204:5000"]
}
root@k8s_master:~# systemctl restart docker.service
- 如果使用Flannel作为网络插件,kubeadm init时需要通过–pod-network-cidr指定网络地址与flannel.yaml中保持一致,默认是:10.244.0.0/16
一些好用的知识:
- 使用hostnamectl命令修改主机名:
linuxtechi@localhost:~$ sudo hostnamectl set-hostname "k8s-master"
linuxtechi@localhost:~$ exec bash
linuxtechi@k8s-master:~$
- 通过apt-add-repository和apt-key命令配置apt源:
$ apt-add-repository "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main"
$ curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add
- $HOME代表当前用户主目录
- **(id -u)**代表当前用户id,**(id -g)**代表当前用户组id。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。