当前位置: 首页 > news >正文

安装k8s集群

一、前置环境配置

安装两台centos

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

master端口:

服务名宿主机端口docker内端口
API Server64436443
etcd2379,23802379,2380
Controller Manager1025210252
scheduler1025110251
Kubelet1025010250
container runtime23752375
NodePort3000-32673000-3267

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

node端口:

服务名宿主机端口docker内端口
API Server54435443
etcd1379,13801379,1380
Controller Manager92529252
scheduler92519251
Kubelet92509250
container runtime13751375
NodePort5000-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
http://www.lryc.cn/news/174190.html

相关文章:

  • C++中编写没有参数和返回值的函数
  • SWC 流程
  • 怒刷LeetCode的第10天(Java版)
  • java框架-Springboot3-场景整合
  • 在Bat To Exe Converter,修改为当异常结束或终止时,程序重新启动执行
  • PythonWeb服务器(HTTP协议)
  • Northstar 量化平台
  • c语言进阶部分详解(经典回调函数qsort()详解及模拟实现)
  • win下 lvgl模拟器codeblocks配置
  • Quartus出租车计价器VHDL计费器
  • 浅谈单元测试:测试和自动化中的利用
  • 深度详解Java序列化
  • Linux下的网络编程——B/S模型HTTP(四)
  • Go语言入门篇
  • 基于springboot+vue的青年公寓服务平台
  • Spring-ImportSelector接口功能介绍
  • YOLOv5如何训练自己的数据集
  • 李航老师《统计学习方法》第1章阅读笔记
  • 基于微信小程序的背单词学习激励系统设计与实现(源码+lw+部署文档+讲解等)
  • VScode调试复杂C/C++项目
  • 【Hash表】字母异位词分组-力扣 49 题
  • 展示日志log4.properties
  • 基于PLE结合卡尔曼滤波的RSSI定位算法matlab仿真
  • uniapp项目实践总结(十九)版本更新和热更新实现方法
  • 一起学数据结构(8)——二叉树中堆的代码实现
  • Linux环境变量配置说明(配置jdk为例-摘录自尚硅谷技术文档)
  • idea常用插件笔记
  • 搜索二叉树【C++】
  • 华为云云耀云服务器L实例评测|认识redis未授权访问漏洞 漏洞的部分复现 设置连接密码 redis其他命令学习
  • 快速安装NGINX