在Centos7中安装单机Kubernetes
CentOS虚拟机内核需在3.10以上才可以安装kubernetes和Docker
1、查看你当前内核版本
$uname -r
2、使用root权限登录CentOS,确保你的yum包更新到最新,后续有些操作也需要root权限
$sudo yum update
3、查看现有的docker还有kubernetes
$yum list installed | grep docker
$yum list installed | grep kubernetes
4、卸载原来的docker还有kubernetes
$sudo yum remove docker
docker-common
docker-selinux
docker-engine
$sudo yum remove kubernetes
$sudo yum remove kubernetes-cni.x86_64
5、关闭swap
由于 K8s 必须保持全程关闭交换内存,如果不关闭,kubernetes运行会出现错误, 即使安装成功了,node重启后也会出现kubernetes server运行错误。
sudo swapoff -a
6、配置镜像源
yum -y install yum-utils
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
备注:我使用的是mirror.lzu.edu.cn
7、CentOS系统自带的防火墙服务
systemctl disable firewalld
systemctl stop firewalld
8、安装etcd和Kubernetes(自动附带安装Docker,安装前可以先卸载docker,否则可能会碰到版本兼容的问题)
sudo yum install -y etcd kubernetes
sudo yum install -y kubelet(如果没有安装kubelet.service,可以执行这条命令)
sudo yum install -y kubelet kubeadm kubectl
9、修改/etc/kubernetes/apiserver文件
修改KUBE_ADMISSION_CONTROL的内容为:去除KUBE_ADMISSION_CONTROL 中的 SecurityContextDeny,ServiceAccount
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,ResourceQuota"
其他内容保持原样即可。
解决 kubenetes无法创建pod No API token found for service account "default"
也可以参考
https://www.cnblogs.com/sweetchildomine/p/8823722.html
10、启动kubernetes相关服务
$ systemctl start etcd
$ systemctl start docker
$ systemctl start kube-apiserver
$ systemctl start kube-controller-manager
$ systemctl start kube-scheduler
$ systemctl start kubelet
$ systemctl start kube-proxy
11、重启kubernetes:
systemctl restart kube-apiserver kube-controller-manager kube-scheduler
12、常用命令
$ kubectl version 确认客户端和服务器侧的版本信息
$ kubectl api-versions 列出当前版本的kubernetes的服务器端所支持的api版本信息
$ kubectl explain 可以和kubectl help一样进行辅助的功能确认
13、其他问题
1)、如果遇到open
/etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such file or directory)这个问题,可以执行下面两条命令。尽量以管理员权限执行,可能会报错。
wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm
rpm2cpio python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm | cpio -iv --to-stdout ./etc/rhsm/ca/redhat-uep.pem | tee /etc/rhsm/ca/redhat-uep.pem
浙公网安备 33010602011771号