当前位置:首页 > 编程笔记 > 正文
已解决

安装k8s集群

来自网友在路上 170870提问 提问时间:2023-09-24 17:09:06阅读次数: 70

最佳答案 问答题库708位专家为你答疑解惑

一、前置环境配置

安装两台centos

实验环境,一台pc配有docker环境,有两个centsos7容器,其中一个容器作为master,一个作为node。如果master与node都是用默认端口,会存在冲突,所以在此基础上做细微的调整。

master端口:

服务名宿主机端口docker内端口API Server64436443etcd2379,23802379,2380Controller Manager1025210252scheduler1025110251Kubelet1025010250container runtime23752375NodePort3000-32673000-3267

NodePort由k8s自由分配,我们不用处理。

node端口:

服务名宿主机端口docker内端口API Server54435443etcd1379,13801379,1380Controller Manager92529252scheduler92519251Kubelet92509250container runtime13751375NodePort5000-52673000-3267

NodePort由k8s自由分配,我们不用处理。

运行master 容器

docker run --name k8s-master --hostname k8s-master  --privileged=true -p 6643:6643 -p 2379:2379 -p 2380:2380 -p 10252:10252 -p 10251:10251 -p 10250:10250 -p 2375:2375 -p 3000-3267:3000-3267 -v /var/run/docker.sock:/var/run/docker.sock  -d  centos:centos7 /usr/sbin/initsystemctl start docker
systemctl enable docker

运行node容器

docker run --name k8s-node --hostname k8s-node  --privileged=true -p 5643:6643 -p 1379:2379 -p 1380:2380 -p 9252:10252 -p 9251:10251 -p 9250:10250 -p 1375:2375 -p 5000-5267:3000-3267 -v /var/run/docker.sock:/var/run/docker.sock -d  centos:centos7 /usr/sbin/initsystemctl start docker
systemctl enable docker

关闭防火墙

centos7容器默认不带防火墙,真机的话需要关闭一下。

systemctl stop firewalld
systemctl disable firewalld

关闭selinux

centos7容器默认不带selinux,真机的话需要关闭一下。

sed -i 's/enforcing/disabled' /etc/selinux/config #永久关闭
setenforece 0 #临时关闭

关闭swap(k8s禁止虚拟内存以提高性能)

swapoff -a 临时关闭
sed -ri 's/.*.swap.*/#&' /etc/fstab #永久关闭

在master添加hosts

master与node在同一台宿主机上,外部ip相同都是宿主机的ip,这里使用宿主机的不同端口来区分master容器和node容器,这里就不用配置hosts了。真机的话需要配置一下。

cat >> /etc/hosts << EOF
192.168.172.131 k8smaster
192.168.172.132 k8snode
EOF

设置网桥参数

cat > /etc/sysctl.d/k8s.conf << EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF
sysctl --system # 生效

时间同步

yum install ntpdate -y
ntpdate time.windows.com

二、kubeadm安装

master,node都需要安装docker、kubelet、kubeadmin。
配置docker在yum中的国内镜像源:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装docker

yum install docker-ce-19.03.13 -y

/etc/docker/daemon.json 配置docker国内加速器

vim /etc/docker/daemon.json {"registry-mirrors": ["https://registry.docker-cn.com"]
}
systemctl enable docker.service

安装k8s组件

添加k8s组件 kubelet,kubeadmin,kubectl的阿里云源

cat > /etc/yum.repos.d/kubernetes.repo <<EOF[kubernetes]name=Kubernetesbaseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64enabled=1gpgcheck=0repo_gpgcheck=0gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpghttp://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpgEOF

安装组件

yum install -y kubelet-1.20.6 kubeadm-1.20.6 kubectl-1.20.6
systemctl enable kubelet.service

测试k8s组件是否都安装成功

yum list installed | grep kubelet
yum list installed | grep kubeadm
yum list installed | grep kubectl

master节点初始化

kubeadm init --image-repository \ 
registry.aliyuncs.com/google_containers \ 
--kubernetes-version=v1.20.6 \ 
--pod-network-cidr=10.244.0.0/16 \ 
--apiserver-advertise-address=192.168.11.109 \
--cri-socket unix:///var/run/cri-dockerd.sock
查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"安装k8s集群":http://eshow365.cn/6-12892-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!