1、安装要求

  • 一台或多台机器,操作系统 CentOS7.x-86_x64
  • 硬件配置:2GB或更多RAM,2个CPU或更多CPU,硬盘30GB或更多
  • 可以访问外网,需要拉取镜像,如果服务器不能上网,需要提前下载镜像并导入节点
  • CentOS7 硬盘/var 分区一定要大一点,至少2G(因为:Docker Root Dir: /var/lib/docker )

2、准备环境

角色   IP
master  192.168.92.128
node1   192.168.92.129
node2   192.168.92.130
# 固定ip地址vim /etc/sysconfig/network-scripts/ifcfg-ens33#Master
TYPE="Ethernet"
BOOTPROTO="static"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.92.128
NETMASK=255.255.255.0
GATEWAY=192.168.92.2
DNS1=8.8.8.8#node1
TYPE="Ethernet"
BOOTPROTO="static"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.92.129
NETMASK=255.255.255.0
GATEWAY=192.168.92.2
DNS1=8.8.8.8#node1
TYPE="Ethernet"
BOOTPROTO="static"
NAME="ens33"
DEVICE="ens33"
ONBOOT="yes"
IPADDR=192.168.92.130
NETMASK=255.255.255.0
GATEWAY=192.168.92.2
DNS1=8.8.8.8
# 关闭防火墙
systemctl stop firewalld # 临时
systemctl disable firewalld # 永久# 关闭selinux
sed -i 's/enforcing/disabled/' /etc/selinux/config  # 永久
setenforce 0  # 临时# 关闭swap
swapoff -a  # 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab    # 永久# 根据规划设置主机名
hostnamectl set-hostname <hostname># 在master添加hosts
cat >> /etc/hosts << EOF
192.168.92.128 k8smaster
192.168.92.129 k8snode1
192.168.92.130 k8snode2
EOF# 将桥接的IPv4流量传递到iptables的链
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

3. 所有节点安装Docker/kubeadm/kubelet

3.1 安装Docker

$ wget https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo -O /etc/yum.repos.d/docker-ce.repo
$ yum -y install docker-ce-18.06.1.ce-3.el7
$ systemctl enable docker && systemctl start docker
$ docker --version
$ cat > /etc/docker/daemon.json << EOF
{"registry-mirrors": ["https://b9pmyelo.mirror.aliyuncs.com"]
}
EOF

3.2 添加阿里云YUM软件源

$ cat > /etc/yum.repos.d/kubernetes.repo << EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

3.3 安装kubeadm,kubelet和kubectl

$ yum install -y kubelet-1.18.0 kubeadm-1.18.0 kubectl-1.18.0
$ systemctl enable kubelet

4. 部署Kubernetes Master

在Master执行

kubeadm init --apiserver-advertise-address=192.168.92.128 --image-repository registry.aliyuncs.com/google_containers --kubernetes-version v1.18.0 --service-cidr=10.96.0.0/12 --pod-network-cidr=10.244.0.0/16

执行成功会得到上面两个红框的东西:第一个红框在master执行;第二个红框在两个node节点执行;

使用kubectl工具 上图第一个红框中的命令:

$ mkdir -p $HOME/.kube
$ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
$ sudo chown $(id -u):$(id -g) $HOME/.kube/config
$ kubectl get nodes

5. 加入Kubernetes Node

在129/130两个node节点执行第四部第二个红框中的命令

kubeadm join 192.168.92.128:6443 --token rckjgh.jdjdq5s9iuqmweym \     --discovery-token-ca-cert-hash sha256:c5cc7fdcad823aaf34ccc8a11f83aa8b497f81b404d5246ba313571c56e52024

默认token有效期为24小时,当过期之后,该token就不可用了。这时就需要在master节点中重新创建token,操作如下

kubeadm token create --print-join-command

查看所有节点 此时状态为NotReady:

[root@k8smaster ~]# kubectl get nodes
NAME        STATUS     ROLES    AGE   VERSION
k8smaster   NotReady   master   12m   v1.18.0
k8snode1    NotReady   <none>   16s   v1.18.0

6. 部署CNI网络插件

$ wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
$ kubectl apply -f kube-flannel.yml或$ kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

执行如下命令:

[root@k8smaster ~]# kubectl get pods -n kube-system
NAME                                READY   STATUS    RESTARTS   AGE
coredns-7ff77c879f-hkwcg            1/1     Running   0          25m
coredns-7ff77c879f-hz6ww            1/1     Running   0          25m
etcd-k8smaster                      1/1     Running   0          26m
kube-apiserver-k8smaster            1/1     Running   0          26m
kube-controller-manager-k8smaster   1/1     Running   0          26m
kube-flannel-ds-amd64-74l5j         1/1     Running   0          33s
kube-flannel-ds-amd64-jcqlt         1/1     Running   0          33s
kube-flannel-ds-amd64-thdqr         1/1     Running   0          33s
kube-proxy-fxkrv                    1/1     Running   0          13m
kube-proxy-qjr6h                    1/1     Running   0          13m
kube-proxy-rrmcq                    1/1     Running   0          25m
kube-scheduler-k8smaster            1/1     Running   0          26m

这个时候所有状态都是 Ready:

[root@k8smaster ~]# kubectl get nodes
NAME        STATUS   ROLES    AGE   VERSION
k8smaster   Ready    master   26m   v1.18.0
k8snode1    Ready    <none>   14m   v1.18.0
k8snode2    Ready    <none>   14m   v1.18.0

7. 测试kubernetes集群

$ kubectl create deployment nginx --image=nginx
$ kubectl expose deployment nginx --port=80 --type=NodePort
$ kubectl get pod,svc访问地址:http://NodeIP:Port

vmware centos7 kubeadm 快速搭建k8s集群(学习尚硅谷课件)相关推荐

  1. Kubeadm 快速搭建 k8s 集群安装可视化管理界面

    文章目录 1. 实验准备 2. 安装 docker 3. 配置阿里云 K8S repo 源(三个节点) 4. 安装 kubeadm,kubelet,kubectl(三个节点) 5. 部署 kubern ...

  2. centos7中kubeadm方式搭建k8s集群(crio+calico)(k8s v1.21.0)

    文章目录 centos7中kubeadm方式搭建k8s集群(crio+calico)(k8s v1.21.0) 环境说明 注意事项及说明 1.版本兼容问题 2.镜像问题 安装步骤 安装要求 准备环境 ...

  3. 使用kubeadm方式搭建K8S集群

    前言 kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: #创建一个 Master 节点 kubeadm i ...

  4. kubeadm 方式搭建k8s集群完整版汇总

    本文一共五篇文章,详细的讲解了k8s的相关概念,以及k8s集群的搭建: Kubernetes相关概念入门 k8s核心概念总结版 k8s的集群搭建前的相关操作–必看 kubeadm方式搭建k8s之doc ...

  5. 使用Kubeadm快速部署K8S集群

    一.简介 Kubeadm 是官方社区推出的一个用于快速部署 Kubernetes 集群的工具,能通过指令快速完成一个 Kubernetes 集群的部署.需要注意的是,Kubeadm 方式部署的 Kub ...

  6. 实战:kubeadm方式搭建k8s集群(k8s-v1.22.2,containerd-v1.5.5)-2023.2.22(测试成功)

    实验环境 1.硬件环境 3台虚机 2c2g,20g.(nat模式,可访问外网) 角色 主机名 ip master节点 master1 172.29.9.51 node节点 node1 172.29.9 ...

  7. kubeadm方式搭建k8s集群

    环境:CentOS7.6 k8s版本:1.8 如果不能重装系统,又装了k8s不行的看这个,新系统无视! 卸载K8S kubeadm reset -f modprobe -r ipip lsmod rm ...

  8. 搭建K8s集群(kubeadm方式)-操作系统初始化

    使用kubeadm方式搭建K8S集群 kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: # 创建一个 Ma ...

  9. ubuntu 搭建k8s集群中篇

    文章目录 概述 一.安装kubeadm 1 关闭防火墙和关闭swap 2 配置软件源 2.1 安装系统工具 2.2 安装 GPG 证书 2.3 写入软件源 3 安装 kubeadm,kubelet,k ...

  10. Kubeadm 快速搭建 k8s v1.24.1 集群(openEuler 22.03 LTS)

    kubeadm 简介 kubeadm 是 Kubernetes(以下简称 k8s)官方提供的用于快速安装部署 k8s 集群的工具,伴随 k8s 每个版本的发布都会同步更新,kubeadm 会对集群配置 ...

最新文章

  1. VictoriaMetrics如何运用?
  2. Django models文件模型变更注意事项(表结构的修改)
  3. java fx消息通知,Java的FX 2警报声
  4. PTA浙大版python程序设计题目集--第1章-2 从键盘输入三个数到a,b,c中,按公式值输出 (30 分)
  5. 视频播放器的极致体验优化
  6. 后台如何通过Request取得多个含有相同name的控件的值?
  7. win10安装opcenum_Win10提示Windows无法安装到GPT分区形式磁盘
  8. Hive导数据到本地文件
  9. JVM性能优化之CPU负载过高
  10. HTML5 canvas中使用路径
  11. 【Flink】Could not instantiate the executor. Make sure a planner module is on the classpath
  12. fanuc机器人自动程序前怎么回原点_FANUC机器人的执行程序
  13. python 将数据写入excel
  14. 双系统安装和ros安装踩坑
  15. BZOJ1127 POI2008KUP(悬线法)
  16. BZOJ4003: [JLOI2015]城池攻占
  17. 5V升压8.4V,锂电池充电管理芯片
  18. 论文笔记——TransPose
  19. 云计算技术基础【11】
  20. 2021年登高架设考试APP及登高架设试题及解析

热门文章

  1. 【专业知识问答】问:引起氢气爆炸的条件是什么?氢冷发电机在什么情况下易引起爆炸?
  2. 盘古开源解析:汽车芯片遭遇短缺,汽车价格会随之上涨吗?
  3. Collection集合的学习
  4. CN28 和 CN00的区别
  5. 北京2008年以来全市在建在售小产权房项目分布图 (zz)
  6. DeepFake Learning
  7. android camera开关闪光灯以及切换前后置摄像头
  8. matlab课程设计报告封面,北航实验报告封面(共8篇).doc
  9. Spring GraphQL初体验
  10. 三步,学习运用JMP分析股票的小技巧