谷粒商城 集群篇 (二) --------- K8s 集群安装

这篇具有很好参考价值的文章主要介绍了谷粒商城 集群篇 (二) --------- K8s 集群安装。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


一、kubeadm

kubeadm 是官方社区推出的一个用于快速部署 kubernetes 集群的工具。这个工具能通过两条指令完成一个 kubernetes 集群的部署:

# 创建一个 Master 节点
$ kubeadm init
# 将一个 Node 节点加入到当前集群中
$ kubeadm join <Master 节点的 IP 和端口 >

二、前置要求

  • 一台或多台机器,操作系统 CentOS7.x-86_x64。
  • 硬件配置:2GB 或更多 RAM,2 个 CPU 或更多 CPU,硬盘 30GB 或更多
  • 集群中所有机器之间网络互通
  • 可以访问外网,需要拉取镜像
  • 禁止 swap 分区

三、部署步骤

  • 在所有节点上安装 Docker 和 kubeadm
  • 部署 Kubernetes Master
  • 部署容器网络插件
  • 部署 Kubernetes Node,将节点加入 Kubernetes 集群中
  • 部署 Dashboard Web 页面,可视化查看 Kubernetes 资源

谷粒商城 集群篇 (二) --------- K8s 集群安装

四、环境准备

先准备三台虚拟机,配置好网络设置、节点名及基础环境。

可以参考这篇文章:Hadoop (三) --------- Hadoop 运行环境搭建 (虚拟机)

将每一台虚拟机的名称从 hadoop 改成 node 即可。。。。。

谷粒商城 集群篇 (二) --------- K8s 集群安装

关于 XShell 所有节点执行相同的命令,我们在 查看 ------> 撰写 -----> 撰写栏 ,然后在下面输入命令即可

谷粒商城 集群篇 (二) --------- K8s 集群安装

date 查看时间 
yum install -y ntpdate
ntpdate time.windows.com 同步最新时间
关闭 selinux:
sed -i 's/enforcing/disabled/' /etc/selinux/config
setenforce 0
关闭 swap:
swapoff -a 临时
sed -ri 's/.*swap.*/#&/' /etc/fstab 永久
free -g 验证,swap 必须为 0

五、安装环境

所有节点安装 Docker、kubeadm、kubelet、kubectl。

Kubernetes 默认 CRI (容器运行时) 为 Docker,因此先安装 Docker。

1. 安装 docker

① 卸载 docker

卸载系统之前的 docker

sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine

② 安装 Docker-CE

Docker CE 指的是 docker 社区版

安装必须的依赖

sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2

设置 docker repo 的 yum 位置,即设置存储库

sudo yum-config-manager \  
--add-repo \ 
https://download.docker.com/linux/centos/docker-ce.repo

安装 docker,以及 docker-cli

sudo yum install -y docker-ce docker-ce-cli containerd.io

③ 配置 docker 加速

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' 
{ 
	"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker 

④ 启动 docker & 设置 docker 开机自启

systemctl enable docker

基础环境准备好,可以给三个虚拟机备份一下;为 node103 分配 16g,剩下的3g。方便未来侧测试

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. 安装 kubeadm,kubelet 和 kubectl

yum list|grep kube
yum install -y kubelet-1.17.3 kubeadm-1.17.3 kubectl-1.17.3

systemctl enable kubelet
systemctl start kubelet

六、部署 k8s-master

1. master 节点初始化

kubeadm init \ 
--apiserver-advertise-address=192.168.38.131 \ 
--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \ 
--kubernetes-version v1.17.3 \ 
--service-cidr=10.96.0.0/16 \ 
--pod-network-cidr=10.244.0.0/16

由于默认拉取镜像地址 k8s.gcr.io 国内无法访问,这里指定阿里云镜像仓库地址。可以手动按照我们的 images.sh 先拉取镜像,地址变为 registry.aliyuncs.com/google_containers 也可以。

--apiserver-advertise-address=192.168.38.131    这个参数就是master主机的IP地址,例如我的Master主机的IP是:192.168.38.131
--image-repository=registry.aliyuncs.com/google_containers  这个是镜像地址,由于国外地址无法访问,故使用的阿里云仓库地址:registry.aliyuncs.com/google_containers
--kubernetes-version=v1.17.4   这个参数是下载的k8s软件版本号
--service-cidr=10.96.0.0/12       这个参数后的IP地址直接就套用10.96.0.0/12 ,以后安装时也套用即可,不要更改
--pod-network-cidr=10.244.0.0/16    k8s内部的pod节点之间网络可以使用的IP段,不能和service-cidr写一样,如果不知道怎么配,就先用这个10.244.0.0/16

科普:无类别域间路由(Classless Inter-Domain Routing、CIDR)是一个用于给用户分配IP地址以及在互联网上有效地路由 IP 数据包的对 IP 地址进行归类的方法。拉取可能失败,需要下载镜像。

运行完成提前复制:加入集群的令牌

也可以将下载镜像所用到的脚本上传到 node101 节点,并执行 master_images.sh 这个脚本,因为上述命令下载镜像可能会失败,执行完之后,在执行上面初始化命令。。。。

谷粒商城 集群篇 (二) --------- K8s 集群安装
谷粒商城 集群篇 (二) --------- K8s 集群安装

执行完成初始化命令。。。

谷粒商城 集群篇 (二) --------- K8s 集群安装

2. 测试 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 获取所有节点

目前 master 状态为 notready。等待网络加入完成即可。

journalctl -u kubelet 查看 kubelet 日志
kubeadm join 192.168.38.131:6443 --token 8mgmlh.cgtgsp3samkvpksn \ --discovery-token-ca-cert-hash

七、安装 Pod 网络插件(CNI)

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

以上地址可能被墙,大家获取上传我们下载好的 flannel.yml 运行即可,同时flannel.yml 中指定的 images 访问不到可以去 docker hub 找一个 wget yml 的地址,vi 修改 yml 所有 amd64 的地址都修改了即可。

kubectl apply -f kube-flannel.yml

等待大约 3 分钟

kubectl get pods -n kube-system 查看指定名称空间的 pods
kubectl get pods --all-namespaces查看所有名称空间的 pods

$ ip link set cni0 down 如果网络出现问题,关闭 cni0,重启虚拟机继续测试执行 watch kubectl get pod -n kube-system -o wide 监控 pod 进度等 3 -10 分钟,完全都是 running 以后继续

八、加入 Kubernetes Node

在 Node 节点执行。向集群添加新节点,执行在 kubeadm init 输出的 kubeadm join 命令:确保 node 节点成功

查看添加新节点的命令

kubeadm token create --print-join-command

在 node102 和 node103 节点执行 kubectl join 命令即可。。。

token 过期怎么办
kubeadm token create --print-join-command
kubeadm token create --ttl 0 --print-join-command
kubeadm join --token y1eyw5.ylg568kvohfdsfco --discovery-token-ca-cert-hashsha256: 6c35e4f73f72afd89bf1c8c303ee55677d2cdb1342d67bb23c852aba2efc7c73

执行 watch kubectl get pod -n kube-system -o wide 监控 pod 进度等 3-10 分钟,完全都是 running 以后使用 kubectl get nodes 检查状态

谷粒商城 集群篇 (二) --------- K8s 集群安装文章来源地址https://www.toymoban.com/news/detail-401797.html

到了这里,关于谷粒商城 集群篇 (二) --------- K8s 集群安装的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Kubeadm安装单master多node节点K8S集群

    记录在刚搭建的3个虚拟机里成功安装K8S1.25版本集群的步骤 由于是成功创建后才记录的博客,只记录了操作步骤,过程中执行命令后的截图会有部分缺失,或者换成了文字。 操作系统:centos7.9 每个服务器配置: 4Gib内存/4vCPU/80G硬盘 网络:NAT模式 K8S集群角色 IP 主机名 安装的

    2024年01月24日
    浏览(60)
  • 【Kubernetes】kubeadm安装k8s1.25.0高可用集群

    详情请参考 : 【Kubernetes】kubeadm安装k8s稳定版(1.23.1)高可用集群 这里不再赘述 这部分内容还没发布。。。后续有空再整理更新啦。 master、node节点都需要操作 docker也要安装,docker跟containerd不冲突,安装docker是为了能基于dockerfile构建镜像。 master、node节点都需要操作 3台机

    2024年01月16日
    浏览(54)
  • Amazon Linux2使用kubeadm部署安装K8S集群

    在AWS上启动3台Amazon Linux2的服务器,服务器配置为2vcpu 和2GB内存 1. 修改主机名(可选步骤) 2.导入k8s的yum仓库密钥 3. 配置kubernetes源 4. 部署安装kubeadm、kubectl、docker,并且启动docker 5. 在master节点上执行初始化 具体初始化过程如下 [init] Using Kubernetes version: v1.27.1 [preflight] Runni

    2024年02月06日
    浏览(47)
  • 【系统开发】尚硅谷 - 谷粒商城项目笔记(十一):K8S

    Kubernetes(k8s)中文文档 Kubernetes概述_Kubernetes中文社区 Kubernetes官网 Kubernetes 是一个可移植的、可扩展的开源平台,用于管理容器化的工作负载和服务,可促进声明式配置和自动化。 Kubernetes 拥有一个庞大且快速增长的生态系统。Kubernetes 的服务、支持和工具广泛可用。 Kuber

    2024年02月11日
    浏览(56)
  • kubeadm 安装k8s集群后,master节点notready问题解决方案

    使用kubeadm 安装k8s集群后,加载calico cni 网络组件后,master节点notready问题 表现为: 使用命令查看日志:journalctl -f -u kubelet 报错如下: Failed to start ContainerManager failed to initialize top level QOS containers: failed to update top level Burstable QOS cgroup : failed to set supported cgroup subsystems for cgroup

    2024年01月22日
    浏览(46)
  • 【云原生-K8s】kubeadm搭建安装k8s集群v1.25版本完整教程【docker、网络插件calico、中间层cri-docker】

    从 k8s 1.24开始,dockershim已经从kubelet中移除,但因为历史问题docker却不支持kubernetes主推的CRI(容器运行时接口)标准,所以docker不能再作为k8s的容器运行时了,即从k8s v1.24开始不再使用docker了 但是如果想继续使用docker的话,可以在kubelet和docker之间加上一个中间层cri-docker。

    2024年02月03日
    浏览(41)
  • kubeadm搭建k8s集群

    二进制部署 部署难,管理方便,集群伸展性能好 更稳定,集群规模到达一定的规模(几百个节点、上万个Pod),二进制稳定性是要高于kubeadm部署 遇到故障,宿主机起来了,进程也会起来 kubeadm部署 部署简单,管理难 是以一种容器管理容器的方式允许的组件及服务,故障恢复时

    2024年02月04日
    浏览(45)
  • kubeadm创建k8s集群

    kubeadm来快速的搭建一个k8s集群: 二进制搭建适合大集群,50台以上。 kubeadm更适合中下企业的业务集群。 master 192.168.10.10 dockerkubelet kubeadm kubectl flannel node1 192.168.10.20 dockerkubelet kubeadm kubectl flannel node2 192.168.10.30 dockerkubelet kubeadm kubectl flannel harbor 192.168.10.40 docker-compose hargordock

    2024年02月03日
    浏览(34)
  • Kubeadm 部署 k8s 集群

    目录 1.初始化设置 2.所有节点安装docker 3.k8s节点安装kubeadm,kubelet和kubectl 4.部署K8S集群  5.部署Dashboard 6.部署harbor私有仓库 名称 设置 组件 master 192.168.116.70(2C/4G,cpu核心数要求大于2) docker、kubeadm、kubelet、kubectl、flannel node01 192.168.116.60(2C/2G) docker、kubeadm、kubelet、kubectl、

    2024年02月09日
    浏览(40)
  • 基于kubeadm部署K8S集群

    目录 基于kubeadm部署K8S集群 一、环境准备 1、主机初始化配置 2、配置主机名并绑定hosts,不同主机名称不同 3、主机配置初始化 二、部署docker环境 1、三台主机上分别部署 Docker 环境 2、镜像加速器(所有主机配置) 三、部署kubernetes集群 (一)组件介绍 (二)配置阿里云yu

    2024年02月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包