美文网首页
Kubernetes安装

Kubernetes安装

作者: engineer_tang | 来源:发表于2021-02-10 18:19 被阅读0次

1. 安装要求

Master: 至少4core和16GB内存
Node: 至少2core和4GB内存
etcd:3.0版本及以上
Docker: 18.03版本及以上

2. 安装前准备说明

Kubernetes需要容器运行时的支持,例如Docker、Containerd、CRI-O和frakti。

2.1 关闭防火墙服务

systemctl disable firewalld
systemctl stop firewalld

2.2 禁用主机SELinux

setenforce 0

或修改文件/etc/sysconfig/selinux

SELINUX=enforcing
/*改为*/
SELINUX=disabled

然后重启linux

3. 使用kubeadm安装Kubernetes

3.1 配置kubernetes源

cd /etc/yum.repos.d/
vim kubernetes.repo

aaa

[kubernetes]
name=Kubernetes Repository
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=0

3.2. 安装kubeadm和相关工具

使用yum install命令安装kubeadm和相关工具:

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

启动kubelet服务

systemctl enable docker && systemctl start docker
systemctl enable kubelet && systemctl start kubelet

3.4 kubeadm config

提供配置文件功能用于复杂定制。将配置文件以ConfigMap的形式保存到集群中,便于后续的查询和升级工作。
kubeadm config子命令介绍:

kubeadm config upload from-file: 由配置文件上传到集群中生成ConfigMap。
kubeadm config upload from-flags: 由配置参数生成ConfigMap
kubeadm config view: 查看当前集群中的配置值。 
kubeadm config print init-defaults: 输出kubeadm init默认参数文件的内容。
kubeadm config print join-defaults: 输出kubeadm join默认参数文件的内容。
kubeadm config migrate: 在新旧版本之间进行配置转换。
kubeadm config images list: 列出所需的镜像列表。
kubeadm config images pull: 拉取镜像到本地。

生成kubeadm配置文件

kubeadm config print init-defaults > kubeadm.conf

修改imageRepository为“registry.cn-hangzhou.aliyuncs.com/google_containers”,保存后,然后拉取镜像

kubeadm config images pull --config kubeadm.conf

修改pull images的tag
从国内镜像网站下载的Images需要re tag到k8s.gcr.io

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.20.0 k8s.gcr.io/kube-scheduler:v1.20.0
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/kube-scheduler:v1.20.0

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.20.0 k8s.gcr.io/kube-proxy:v1.20.0
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/kube-proxy:v1.20.0

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.20.0 k8s.gcr.io/kube-controller-manager:v1.20.0
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/kube-controller-manager:v1.20.0

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.20.0 k8s.gcr.io/kube-apiserver:v1.20.0
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/kube-apiserver:v1.20.0

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.7.0 k8s.gcr.io/coredns:1.7.0
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/coredns:1.7.0

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0 k8s.gcr.io/etcd:3.4.13-0
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0

docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2 k8s.gcr.io/pause:3.2
docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.2

关闭交换分区

swapoff -a
vim /etc/fstab

3.5 部署Master节点

kubeadm init --config /root/kubeadm.conf
image.png

解决办法:
对kubernetes配置文件的“advertiseAddress”参数改为内网IP,如下图所示:


image.png

复制配置文件到普通用户的HOME目录下:

mkdir -p $HOME/.kube
cp -i kubeadm.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config

11

cat <<EOF >> /root/.bashrc
export KUBECONFIG=/etc/kubernetes/admin.conf
EOF
source /root/.bashrc

3.6 部署Node节点

安装kubeadm和相关工具

yum install kubelet kubeadm --disableexcludes=kubernetes

启动kubelet服务

systemctl enable docker && systemctl start docker
systemctl enable kubelet && systemctl start kubelet

3.7 安装网络插件

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

3.7 问题处理

  1. 节点加入不了问题处理?
    进入"/usr/lib/systemd/system/kubelet.service.d"给节点命名“hostname-override=node1”,打开文件“vim 10-kubeadm.conf”。


    image.png
  2. 报错“The connection to the server localhost:8080 was refused - did you specify the right host or port?”?
    从主节点“/etc/kubernetes/admin.conf”拷贝到从节点的相同目录。然后执行11下的操作


    image.png

参考:https://blog.csdn.net/sinat_29217765/article/details/100850516
参考:https://blog.csdn.net/scwang18/article/details/100075236
参考:https://blog.csdn.net/weixin_40668374/article/details/109187846
参考:http://www.voidcn.com/article/p-hueqmayl-bdx.html

相关文章

网友评论

      本文标题:Kubernetes安装

      本文链接:https://www.haomeiwen.com/subject/yyihxltx.html