vmware centos7 kubeadm 快速搭建k8s集群(学习尚硅谷课件)
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集群(学习尚硅谷课件)相关推荐
- Kubeadm 快速搭建 k8s 集群安装可视化管理界面
文章目录 1. 实验准备 2. 安装 docker 3. 配置阿里云 K8S repo 源(三个节点) 4. 安装 kubeadm,kubelet,kubectl(三个节点) 5. 部署 kubern ...
- centos7中kubeadm方式搭建k8s集群(crio+calico)(k8s v1.21.0)
文章目录 centos7中kubeadm方式搭建k8s集群(crio+calico)(k8s v1.21.0) 环境说明 注意事项及说明 1.版本兼容问题 2.镜像问题 安装步骤 安装要求 准备环境 ...
- 使用kubeadm方式搭建K8S集群
前言 kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: #创建一个 Master 节点 kubeadm i ...
- kubeadm 方式搭建k8s集群完整版汇总
本文一共五篇文章,详细的讲解了k8s的相关概念,以及k8s集群的搭建: Kubernetes相关概念入门 k8s核心概念总结版 k8s的集群搭建前的相关操作–必看 kubeadm方式搭建k8s之doc ...
- 使用Kubeadm快速部署K8S集群
一.简介 Kubeadm 是官方社区推出的一个用于快速部署 Kubernetes 集群的工具,能通过指令快速完成一个 Kubernetes 集群的部署.需要注意的是,Kubeadm 方式部署的 Kub ...
- 实战: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 ...
- kubeadm方式搭建k8s集群
环境:CentOS7.6 k8s版本:1.8 如果不能重装系统,又装了k8s不行的看这个,新系统无视! 卸载K8S kubeadm reset -f modprobe -r ipip lsmod rm ...
- 搭建K8s集群(kubeadm方式)-操作系统初始化
使用kubeadm方式搭建K8S集群 kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 这个工具能通过两条指令完成一个kubernetes集群的部署: # 创建一个 Ma ...
- ubuntu 搭建k8s集群中篇
文章目录 概述 一.安装kubeadm 1 关闭防火墙和关闭swap 2 配置软件源 2.1 安装系统工具 2.2 安装 GPG 证书 2.3 写入软件源 3 安装 kubeadm,kubelet,k ...
- Kubeadm 快速搭建 k8s v1.24.1 集群(openEuler 22.03 LTS)
kubeadm 简介 kubeadm 是 Kubernetes(以下简称 k8s)官方提供的用于快速安装部署 k8s 集群的工具,伴随 k8s 每个版本的发布都会同步更新,kubeadm 会对集群配置 ...
最新文章
- VictoriaMetrics如何运用?
- Django models文件模型变更注意事项(表结构的修改)
- java fx消息通知,Java的FX 2警报声
- PTA浙大版python程序设计题目集--第1章-2 从键盘输入三个数到a,b,c中,按公式值输出 (30 分)
- 视频播放器的极致体验优化
- 后台如何通过Request取得多个含有相同name的控件的值?
- win10安装opcenum_Win10提示Windows无法安装到GPT分区形式磁盘
- Hive导数据到本地文件
- JVM性能优化之CPU负载过高
- HTML5 canvas中使用路径
- 【Flink】Could not instantiate the executor. Make sure a planner module is on the classpath
- fanuc机器人自动程序前怎么回原点_FANUC机器人的执行程序
- python 将数据写入excel
- 双系统安装和ros安装踩坑
- BZOJ1127 POI2008KUP(悬线法)
- BZOJ4003: [JLOI2015]城池攻占
- 5V升压8.4V,锂电池充电管理芯片
- 论文笔记——TransPose
- 云计算技术基础【11】
- 2021年登高架设考试APP及登高架设试题及解析