Kubernetes之kubeadm集群部署篇—k8s集群部署

文章目录

  • 1、启动集群
    • 1.1 新增 kubernetes yum源:(所有节点)
    • 1.2 安装kubelet kubeadm kubectl (master节点)
    • 1.3 启动k8s-master节点 (master节点)
  • 二、部署 flannel (master节点)
    • 2.1 下载flannel插件的yml文件
    • 2.2 修改 Network、image 字段;
    • 2.3 创建flannel网络插件
    • 2.4 获取下kube-system空间下的pod
  • 三、添加 worker 节点
    • 3.1 workr节点服务器系统初始化 (workr节点执行)
    • 3.2 安装 kubeadm、kubelet (workr节点执行)
    • 3.3 maser节点生成token (master节点执行)
    • 3.4 workr节点加入k8s集群 (workr节点执行)
    • 3.5 查看workr节点是否加入 (master节点执行)

1、启动集群

1.1 新增 kubernetes yum源:(所有节点)

CentOS、RHEL、Fedora系统可使用以下方式

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

1.2 安装kubelet kubeadm kubectl (master节点)

 yum -y install kubeadm-1.18.6 kubectl-1.18.6 kubelet-1.18.6

注:安装时不指定版本号,默认安装最新版本

yum install kubeadm kubectl kubelet

1.3 启动k8s-master节点 (master节点)

启动kubelet服务

systemctl enable kubelet && systemctl start kubelet

初始化master节点

kubeadm init \
--apiserver-advertise-address=172.17.59.65 \
--image-repository registry.cn-beijing.aliyuncs.com/mykubeadm \
--kubernetes-version v1.18.6 \
--service-cidr=10.1.0.0/16 \
--pod-network-cidr=10.2.0.0/16

执行以下命令

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

初始化后生成的以下命令需要保存好,用以添加work节点使用 (暂不执行)

kubeadm join 172.17.59.64:6443 --token k1ib2r.0vqhoueuzxiq063u \--discovery-token-ca-cert-hash sha256:422a1485a08f01743f140a7dfa68da5b02fe1ba75bad932ad015a155e8169391

二、部署 flannel (master节点)

2.1 下载flannel插件的yml文件

mkdir -p /opt/kubernetes/yml
cd /opt/kubernetes/yml/
wget https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

2.2 修改 Network、image 字段;

Network:修改为 pod-network-cidr:10.2.0.0/16
# 默认为10.244.0.0/16,如果不是,修改对应的地址即可image: registry.cn-beijing.aliyuncs.com/mayaping/flannel:v0.12.0-amd64  
# 在安装k8s过程中,执行kubectl apply -f kube-flannel.yml,会出现flannel Init:ImagePullBackOff错误,原因是quay.io镜像地址在国内访问不了,需要修改为国内镜像地址

2.3 创建flannel网络插件

# kubectl apply -f kube-flannel.yml
podsecuritypolicy.policy/psp.flannel.unprivileged created
clusterrole.rbac.authorization.k8s.io/flannel created
clusterrolebinding.rbac.authorization.k8s.io/flannel created
serviceaccount/flannel created
configmap/kube-flannel-cfg created
daemonset.apps/kube-flannel-ds created

2.4 获取下kube-system空间下的pod

此命令可查看到flannel插件已经创建成功

kubectl get pods -n kube-system
NAME                                 READY   STATUS    RESTARTS   AGE
coredns-d7fd48dd-7bcqh               1/1     Running   0          6h2m
coredns-d7fd48dd-s7vzl               1/1     Running   0          6h2m
etcd-k8a-master                      1/1     Running   0          6h2m
kube-apiserver-k8a-master            1/1     Running   0          6h2m
kube-controller-manager-k8a-master   1/1     Running   0          6h2m
kube-flannel-ds-rkng2                1/1     Running   0          47m
kube-proxy-46kdx                     1/1     Running   0          6h2m
kube-scheduler-k8a-master            1/1     Running   0          6h2m

三、添加 worker 节点

3.1 workr节点服务器系统初始化 (workr节点执行)

3.2 安装 kubeadm、kubelet (workr节点执行)

yum install kubeadm-1.18.6  kubelet-1.18.6 -y

3.3 maser节点生成token (master节点执行)

  • 重新产生master节点token
 kubeadm token create --print-join-command

注:kubeadm init产生的token的有效期是24个小时

命令输出内容:

W1010 16:14:30.547944    2157 configset.go:202] WARNING: kubeadm cannot validate component configs for API groups [kubelet.config.k8s.io kubeproxy.config.k8s.io]
kubeadm join 172.17.59.64:6443 --token ngiris.f82y1tx1xdzs02zt     --discovery-token-ca-cert-hash sha256:422a1485a08f01743f140a7dfa68da5b02fe1ba75bad932ad015a155e8169391 

3.4 workr节点加入k8s集群 (workr节点执行)

在workr节点中执行master节点生成出来的token命令即可

kubeadm join 172.17.59.64:6443 --token ngiris.f82y1tx1xdzs02zt     --discovery-token-ca-cert-hash sha256:422a1485a08f01743f140a7dfa68da5b02fe1ba75bad932ad015a155e8169391 

3.5 查看workr节点是否加入 (master节点执行)

# kubectl get nodes
NAME         STATUS   ROLES    AGE     VERSION
k8s-master   Ready    master   4h13m   v1.18.6
k8s-node1    Ready    <none>   5m11s   v1.18.6

注:状态为Ready即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/172615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SpringBoot通过URL请求图片方法

通过URL请求图片方法 来源 如果你想通过controller动态返回图片&#xff0c;你可以参考以下示例代码:java // 使用PathVariable注解&#xff0c;获取请求路径中的参数 GetMapping(value "/image/{name}", produces MediaType.IMAGE_JPEG_VALUE) ResponseBody pub…

Android 10.0 mtp模式下连接pc后显示的文件夹禁止删除copy重命名功能实现

1.前言 在10.0的系统开发中,usb连接pc端的时候有好几种模式,在做otg连接pc端的时候,改成mtp模式的时候,在pc端可以看到产品设备 的显示的文件夹的内容,对于产品设备里面的文件在pc端禁止做删除重命名拷贝等操作功能的实现 2.mtp模式下连接pc后显示的文件夹禁止删除copy重命…

【计算机视觉】【图像处理综合应用】路沿检测

实验内容&#xff1a;针对给定的视频&#xff0c;利用图像处理基本方法实现道路路沿的检测&#xff1b; 提示&#xff1a;可利用Hough变换进行线检测&#xff0c;融合路沿的结构信息实现路沿边界定位&#xff08;图中红色的点位置&#xff09;。 处理视频文件 处理视频文件的主…

springboot函数式web

1.通常是路由(请求路径)业务 2.函数式web&#xff1a;路由和业务分离 一个configure类 配置bean 路由等 实现业务逻辑 这样实现了业务和路由的分离

codeforces 1851F

题目链接 题目大意&#xff1a;给你一个长度为n的数组a, 和一个整数k(2<n<2e5, k<30, a[i]<pow(2,k))。 任选一个x&#xff0c;求(a[i] ^ x) & (a[j] ^ x) 的最大值(1<i,j<n, i!j, x<pow(2,k))。 由于中间有个&&#xff0c;所以我们要求两个数最高…

/dev/root

文章目录 后背发凉软链接搞的鬼破案 后背发凉 使用 mount 命令查看设备挂载情况 /# mount /dev/root on / type ext4 (rw,noatime) proc on /proc type proc (rw,nosuid,nodev,noexec,noatime) sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,noatime) cgroup2 on /sys/f…

Exclude,Extract

在TypeScript中&#xff0c;Exclude<T, U>和Extract<T, U>都是条件类型&#xff0c;用于根据类型U排除或提取类型T中的某些部分。 其中&#xff0c;Exclude<T, U>返回一个新类型&#xff0c;该类型是T中不属于U的部分&#xff1b;而Extract<T, U>返回一…

【Rust日报】2023-11-25 CXX-Qt 0.6 发布

CXX-Qt 0.6 发布 CXX-Qt 是一组 Rust 包&#xff0c;用于创建与 Qt 的双向 Rust ⇄ C 绑定。它可用于使用 CMake 将 Rust 集成到 C 应用程序中&#xff0c;或使用 Cargo 构建 Rust 应用程序。 CXX-Qt 提供了用于在 Rust 中实现 QObject 子类的工具&#xff0c;可在 C、QML 和 J…

Spring MVC程序开发

所谓的Spring MVC程序开发&#xff0c;其实也是一个Spring Boot项目。 MVC是Model View Controller的缩写&#xff0c;它是软件工程中的一种软件架构模式&#xff0c;它把软件系统分为模型&#xff0c;视图&#xff0c;控制器三个部分。 项目使用什么技术实现的&#xff1f;&a…

【nowcoder】BM3 链表中的节点每k个一组翻转

题目&#xff1a; 题目分析&#xff1a; 题目解析转载&#xff1a; 代码实现&#xff1a; package BMP3;import java.util.List;class ListNode {int val;ListNode next null;public ListNode(int val) {this.val val;} } public class BM3 {/*** 代码中的类名、方法名、参…

13-21-普通数组、矩阵

LeetCode 热题 100 文章目录 LeetCode 热题 100普通数组13. 中等-最大子数组和14. 中等-合并区间15. 中等-轮转数组16. 中等-除自身以外数组的乘积17. 困难-缺失的第一个正数 矩阵18. 中等-矩阵置零19. 中等-螺旋矩阵20. 中等-旋转图像21. 中等-搜索二维矩阵II 本文存储我刷题的…

一般将来时

一般将来时 概念 表示将要发生的动作或打算、计划准备做某事 时间 tomorrow 明天 the day after tomorrow 后天 next week 下周 next weekend 下周末 next month 下个月 next year 明年 ...句子结构 主语 be&#xff08;am/is/are&#xff09;going to do … 计划,…

面试题目总结(一)

1. 谈谈数据库的乐观锁和悲观锁 乐观锁和悲观锁是数据库并发控制中常用的两种策略&#xff0c;用于处理多个事务同时访问和修改同一个数据时的并发冲突问题。 数据库的乐观锁是指在读取数据时&#xff0c;不对数据进行加锁&#xff0c;而是在更新数据时检查数据版本是否发生变…

B树你需要了解一下

介绍B树的度数主要特点应用场景时间复杂度代码示例拓展 介绍 B树&#xff08;B-tree&#xff09;是一种自平衡的树&#xff0c;能够保持数据有序&#xff0c;常被用于数据库和文件系统的实现。 B树可以看作是一般化的二叉查找树&#xff0c;它允许拥有多于2个子节点。与自平衡…

2023.11.25 关于 MyBatis 的配置与使用

目录 引言 MyBatis 介绍 掌握两个点 在框架中的定位 创建数据库 配置 MyBatis 引入依赖 配置文件 创建实体类 构建 Mapper 层代码实现 添加 mapper 接口 添加 UserMapper.xml 实现 Service 层 实现 Controller 层 最终测验 阅读下面文章之前建议了解并创建…

树状数组专题

折叠 区间修改&#xff0c;区间查询&#xff0c;这一类题通常都可以使用线段树解决&#xff0c;但对于此题&#xff0c;树状数组同样可以&#xff0c;而且常数较小&#xff0c;代码简单。 思路&#xff1a; 考虑使用树状数组去维护差分数组&#xff0c;即对于 a i a_i ai​,我们…

使用qemu调试arm内核

参考书籍《奔跑吧Linux内核》–笨叔 下载Linux-5.0源码 https://benshushu.coding.net/public/runninglinuxkernel_5.0/runninglinuxkernel_5.0/git/files或者直接git源码 git clone https://e.coding.net/benshushu/runninglinuxkernel_5.0/runninglinuxkernel_5.0.git安装必…

【React】Memo

组件重新渲染时缓存计算的结果。 实例&#xff1a;count1计算斐波那契数列&#xff0c;count2和count1可以触发数值变化。使用memo可以使只有在count1变化时触发斐波那契数列计算函数&#xff0c;而count2变化时不触发斐波那契数列计算函数。 import { useMemo } from "r…

点云从入门到精通技术详解100篇-基于深度学习的语义分割与室内稠密点云地图研究(续)

目录 3.2稠密点云地图的预处理 3.2.1 基于密度的点云离群点去除 3.2.2 基于超体素聚类的点云地图预分割

SpringCloud微服务网关Gateway:gateway基本实现、断言工厂、过滤器工厂、浏览器同源策略、跨域问题解决方案

Gateway网关 Spring Cloud Gateway 是 Spring Cloud 的一个全新项目&#xff0c;该项目是基于 Spring 5.0&#xff0c;Spring Boot 2.0和Project Reactor 等响应式编程和事件流技术开发的网关&#xff0c;它旨在为微服务架构提供一种简单有效的统一的 API路由管理方式 为什么…