kubernetes集群(k8s)之安装部署Calico 网络

news2024/11/27 18:30:43

目录

安装部署Calico 网络

(一)环境准备

(二)部署docker环境

(三)部署kubernetes集群

(四)部署Calico网络插件


安装部署Calico 网络

(一)环境准备

IP地址

主机名

组件

192.168.100.131

k8s-master

kubeadm、kubelet、kubectl、docker-ce

192.168.100.132

k8s-node01

kubeadm、kubelet、kubectl、docker-ce

192.168.100.133

k8s-node02

kubeadm、kubelet、kubectl、docker-ce

注意:所有主机配置推荐CPU:2C+  Memory:2G+

1、主机初始化配置

所有主机配置禁用防火墙和selinux

[root@localhost ~]# setenforce 0

[root@localhost ~]# iptables -F

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# systemctl disable firewalld

[root@localhost ~]# systemctl stop NetworkManager

[root@localhost ~]# systemctl disable NetworkManager

[root@localhost ~]# sed -i '/^SELINUX=/s/enforcing/disabled/' /etc/selinux/config

 

配置主机名并绑定hosts,不同主机名称不同

[root@localhost ~]# hostname k8s-master

[root@k8s-master ~]# cat << EOF >> /etc/hosts

192.168.100.131 k8s-master

192.168.100.132 k8s-node01

192.168.100.133 k8s-node02

EOF

[root@localhost ~]# hostname k8s-node01

[root@localhost ~]# hostname k8s-node02

 

所有主机配置初始化

[root@k8s-master ~]# yum -y install vim wget net-tools lrzsz

[root@k8s-master ~]# swapoff -a

[root@k8s-master ~]# sed -i '/swap/s/^/#/' /etc/fstab

[root@k8s-master ~]# cat << EOF >> /etc/sysctl.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

EOF

[root@k8s-master ~]#  modprobe br_netfilter

[root@k8s-master ~]# sysctl -p

 

(二)部署docker环境

三台主机上分别部署 Docker 环境,因为 Kubernetes 对容器的编排需要 Docker 的支持。

[root@k8s-master ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

[root@k8s-master ~]# yum install -y yum-utils device-mapper-persistent-data lvm2


使用 YUM 方式安装 Docker 时,推荐使用阿里的 YUM 源。

[root@k8s-master ~]# yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


[root@k8s-master ~]# yum clean all && yum makecache fast


[root@k8s-master ~]# yum -y install docker-ce

[root@k8s-master ~]# systemctl start docker

[root@k8s-master ~]# systemctl enable docker

镜像加速器(所有主机配置)

[root@k8s-master ~]# cat << END > /etc/docker/daemon.json

{

        "registry-mirrors":[ "https://nyakyfun.mirror.aliyuncs.com" ]

}

END

[root@k8s-master ~]# systemctl daemon-reload

[root@k8s-master ~]# systemctl restart docker

 

(三)部署kubernetes集群

1)组件介绍

三个节点都需要安装下面三个组件

kubeadm:安装工具,使所有的组件都会以容器的方式运行

kubectl:客户端连接K8S API工具

kubelet:运行在node节点,用来启动容器的工具

2)配置阿里云yum源

使用 YUM 方式安装 Kubernetes时,推荐使用阿里的 YUM 源。

准备好基础环境和 Docker 环境,下面就开始通过 Kubeadm 来部署 Kubernetes 集群。首先,安装 Kubelet、Kubeadm 和 Kubectl。

[root@k8s-master ~]# ls /etc/yum.repos.d/

[root@k8s-master ~]#

cat /etc/yum.repos.d/kubernetes.repo

 

3)安装kubelet kubeadm kubectl

所有主机配置

[root@k8s-master ~]# yum install -y kubelet kubeadm kubectl

[root@k8s-master ~]# systemctl enable kubelet

        kubelet 刚安装完成后,通过 systemctl start kubelet 方式是无法启动的,需要加入节点或初始化为 master 后才可启动成功。

4)配置init-config.yaml

        Kubeadm 提供了很多配置项,Kubeadm 配置在 Kubernetes 集群中是存储在ConfigMap 中的,也可将这些配置写入配置文件,方便管理复杂的配置项。Kubeadm 配内容是通过 kubeadm config 命令写入配置文件的。

        在master节点安装,master 定于为192.168.200.111,通过如下指令创建默认的init-config.yaml文件:

[root@k8s-master ~]# kubeadm config print init-defaults > init-config.yaml

init-config.yaml配置如下:

 

5)安装master节点

拉取所需镜像

[root@k8s-master ~]# kubeadm config images list --config init-config.yaml

[root@k8s-master ~]# kubeadm config images pull --config init-config.yaml

 

安装matser节点

[root@k8s-master ~]# kubeadm init --config=init-config.yaml //初始化安装K8S

 

根据提示操作

kubectl 默认会在执行的用户家目录下面的.kube 目录下寻找config 文件。这里是将在初始化时[kubeconfig]步骤生成的admin.conf 拷贝到.kube/config

[root@k8s-master ~]# mkdir -p $HOME/.kube

[root@k8s-master ~]# cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

[root@k8s-master ~]# chown $(id -u):$(id -g) $HOME/.kube/config

        Kubeadm 通过初始化安装是不包括网络插件的,也就是说初始化之后是不具备相关网络功能的,比如 k8s-master 节点上查看节点信息都是“Not Ready”状态、Pod 的 CoreDNS无法提供服务等。

6)安装node节点

根据master安装时的提示信息

[root@k8s-node01 ~]# kubeadm join

[root@k8s-node02 ~]# kubeadm join

[root@k8s-master ~]# kubectl get nodes

        前面已经提到,在初始化 k8s-master 时并没有网络相关配置,所以无法跟 node 节点通信,因此状态都是“NotReady”。但是通过 kubeadm join 加入的 node 节点已经在k8s-master 上可以看到。

(四)部署Calico网络插件

1、安装 Calico 网络插件

[root@k8s-master ~]# kubectl apply -f calico.yaml

 

2、查看node节点状态。

[root@k8s-master ~]# kubectl get nodes

 

3、查看所有pod状态

[root@k8s-master ~]# kubectl get pod --all-namespaces

 

4、查看所有system状态

[root@k8s-master ~]# kubectl get pod -n kube-system

 

5、查看所有docker镜像

[root@k8s-master ~]# docker images

 

6、查看master以及node 的ifconfig信息

Master:

 

Node01:

 

Node02:

 

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

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

相关文章

混淆矩阵、F1score详解

混淆矩阵&#xff08;Confusion Matrix&#xff09; TP&#xff08;True Positives)&#xff1a;真正例&#xff0c;预测为正例而且实际上也是正例&#xff1b; FP&#xff08;False Positives)&#xff1a;假正例&#xff0c;预测为正例然而实际上却是负例&#xff1b; FN&…

九五从零开始的运维之路(其三十一)

文章目录 前言一、什么是计划任务1.一次性任务2.周期性任务&#xff08;一&#xff09;在/etc/crontab文件中写入计划任务&#xff08;二&#xff09;使用crontab命令编辑计划任务 二、用户提权1.什么是用户提权2.su与su -3.sudo提权 总结 前言 本篇将简述的内容&#xff1a;L…

1+X 综合布线系统安装与维护职业技能等级证书实训室建设方案

一、1X 综合布线系统安装与维护职业技能等级证书建设方案系统概述 "1X 综合布线系统安装与维护职业技能等级证书系统"是中国职业教育改革的一项举措&#xff0c;旨在为综合布线系统安装与维护领域的从业人员提供职业技能评价和认证的体系。 该证书系统采用了"…

浪涌保护器中SPD防雷模块的主要应用方案

浪涌保护器&#xff08;Surge Protective Device&#xff0c;SPD&#xff09;是一种用于限制瞬态过电压和导引泄放电涌电流的非线性防护器件&#xff0c;用以保护耐压水平低的电器或电子系统免遭雷击及雷击电磁脉冲或操作过电压的损害。SPD可以将过电压泄放到地线或限制过电压到…

如何高效地进行事件降噪

在事件处理方面&#xff0c;一般我们会遇到两个痛点&#xff0c;一个是告警事件太多&#xff0c;被过度打扰&#xff0c;另一个是重要告警疏漏&#xff0c;无法闭环处理。 告警太多的常见原因 最常见的原因&#xff0c;是告警规则设置得不合理。比如很多规则触发了告警之后&a…

5.内置构造函数

在JavaScript中最主要的数据类型有6种: 1.基本数据类型: 字符串、数值、布尔、undefined、 null 2.引用类型&#xff1a;对象 但是&#xff0c;我们会发现有些特殊情况: //普通字符串 const str andy console.1og(str.length) // 4其实字符串、数值、布尔、等基本类型也都有…

【MySQL--->表的操作】

文章目录 [TOC](文章目录) 一、创建表二、查看表三、修改表四、删除表drop table 表名; ![在这里插入图片描述](https://img-blog.csdnimg.cn/15227b8335364d41bd01b4b4dd83ee55.png) 一、创建表 语句格式:create table 表名(列名 类型,…)字符集 校验规则 存储引擎;字符集和校…

一盏茶的时间,带你轻松上手Pinia

&#x1f3ac; 岸边的风&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 &#x1f4da; 前言 &#x1f4d8; 创建 Pinia &#x1f4d8; Option Store &#x1f4d8; Pinia 提供多种选项配…

JavaEE——网络编程(UDP套接字编程)

文章目录 一、简单理解Socket 套接字二、UDP 数据报套接字编程三、编写简单的 UDP 版本服务器客户端1. 编写 UDP 版本的回显服务器回显服务器整体代码罗列 2. 编写 UDP 版本的回显客户端回显客户端整体代码罗列 四、总结与代码运行结果解释 一、简单理解Socket 套接字 概念&am…

实践-传统深度学习

简介与安装 2 训练自己的数据集整体流程3 数据加载与预处理4 搭建网络模型5 学习率对结果的影响6 Drop-out操作7 权重初始化方法对比8 初始化标准差对结果的影响9 正则化对结果的影响10 加载模型进行测试 TensorFlow&#xff1a;每一步都需要自己做。 Keras&#xff1a;做起来更…

Redis_缓存2_缓存删除和淘汰策略

14.5 缓存数据的删除和替换 14.5.1 过期数据 可以使用ttl查看key的状态。已过期的数据&#xff0c;redis并未马上删除。优先去执行读写数据操作&#xff0c;删除操作延后执行。 14.5.2 删除策略 redis中每一个value对应一个内存地址&#xff0c;在expires&#xff0c;一个内…

关于海外应用ASO优化的一些热知识

应用程序市场挤满了人&#xff0c;我们不能依靠运气来帮助应用程序在全球应用市场上被发现&#xff0c;其中大约有 500 万个应用程序争夺相同的客户。ASO是应用营销活动的重要组成部分&#xff0c;其目的是提高应用程序在Google Play Store和Apple App Store中的可见度。 1、为…

怎么截取视频制成GIF?教你简单的GIF制作方法

怎么将一段视频截取片段制作成GIF动图呢&#xff1f;很多小伙伴在看到一段视频中的搞笑片段&#xff0c;想要将其制作成GIF表情包来在社交平台上发送、交流&#xff0c;那样会非常有趣&#xff0c;GIF动图能够很好的表达我们的情绪&#xff0c;因此该怎么制作呢&#xff1f;教大…

安利5个:在线帮助文档协同与团队知识库管理工具!

在线帮助文档协同与团队知识库管理工具是帮助团队共享和管理知识的重要工具。下面是我推荐的五个工具&#xff0c;并对它们的优点和缺点进行了简要描述。其中&#xff0c;我特别推荐Baklib这个工具。 Confluence: 优点&#xff1a;Confluence是Atlassian公司的产品&#xff0…

OLED透明屏批发:解读未来显示技术的创新与机遇

在数字化时代&#xff0c;OLED透明屏作为一种创新的显示技术&#xff0c;吸引了广泛的关注和应用。本文将深入探讨OLED透明屏的优势和应用领域&#xff0c;分析其在批发市场中的需求和机遇。 一、OLED透明屏的优势和应用领域 OLED透明屏的定义和原理&#xff1a; OLED透明屏采…

KU Leuven TU Berlin 推出“RobBERT”,一款荷兰索塔 BERT

荷兰语是大约24万人的第一语言&#xff0c;也是近5万人的第二语言&#xff0c;是继英语和德语之后第三大日耳曼语言。来自比利时鲁汶大学和柏林工业大学的一组研究人员最近推出了基于荷兰RoBERTa的语言模型RobBERT。 谷歌的BERT&#xff08;来自Transformers的B idirectional …

搞什么副业可以月入过万?

现在的社会发展非常快&#xff0c;因此出现了许多非常有用而充满娱乐性的兼职职位。这些兼职职位可以让你放松自己的身心&#xff0c;同时还能获得高额报酬。下面兼职网将提供一些正规的兼职职位&#xff0c;可以助你月入数万。 第一种&#xff1a;网络直播主播 网络直播现在非…

redis — 基于Spring Boot实现redis延迟队列

1. 业务场景 延时队列场景在我们日常业务开发中经常遇到&#xff0c;它是一种特殊类型的消息队列&#xff0c;它允许把消息发送到队列中&#xff0c;但不立即投递给消费者&#xff0c;而是在一定时间后再将消息投递给消费者。延迟队列的常见使用场景有以下几种&#xff1a; 在…

Linux目录结构(快速了解)

linux目录结构 核心 1.Linux一切皆文件 2.只有一个顶级目录&#xff0c;而windows分C盘、D盘等 目录结构 目录含义&#xff08;与windows进行比对&#xff09; Linux含义windows/bin所有用户可用的基本命令存放的位置windows无固定的命令存放目录/bootlinux系统启动的时候需要…

JaCoCo助您毁灭线上僵尸代码 | 京东物流技术团队

一. 现状问题 随着需求不断迭代&#xff0c;业务系统的业务代码突飞猛进&#xff0c;在你自豪于自己的代码量产出很高时&#xff0c;有没有回头看看线上真正的客户使用量又有多少呢&#xff1f; 费事费力耗费大量人力&#xff0c;成本上线的功能&#xff0c;可能一年没人使用…