当前位置: 首页 > news >正文

网站 域名 云服务器推广平台软件有哪些

网站 域名 云服务器,推广平台软件有哪些,动漫设计专业的学校,闵行区做网站公司目录 前言1 K8S集群节点准备1.1 主机列表1.2 kubespray节点python3及pip3准备1.2.1. 更新系统1.2.2. 安装依赖1.2.3. 下载Python 3.12源码1.2.4. 解压源码包1.2.5. 编译和安装Python1.2.6. 验证安装1.2.7. 设置Python 3.12为默认版本(可选)1.2.8. 安装pi…

目录

  • 前言
  • 1 K8S集群节点准备
    • 1.1 主机列表
    • 1.2 kubespray节点python3及pip3准备
      • 1.2.1. 更新系统
      • 1.2.2. 安装依赖
      • 1.2.3. 下载Python 3.12源码
      • 1.2.4. 解压源码包
      • 1.2.5. 编译和安装Python
      • 1.2.6. 验证安装
      • 1.2.7. 设置Python 3.12为默认版本(可选)
      • 1.2.8. 安装pip
      • 1.2.9. 验证pip
    • 1.3 kubespray源文件获取
    • 1.4 kubespray环境准备
    • 1.5 配置主机清单
    • 1.6 准备K8S集群配置文件
    • 1.7 准备k8s集群插件文件
    • 1.8 设置kubespray主机免密登录到其他集群主机
      • 1.8.1. 在kubespray主机生成ssh密钥
      • 1.8.2. 使用ssh-copy-id复制ssh密钥到k8s集群节点主机
      • 1.8.3. 在K8S集群节点添加sysops用户指行授权
    • 1.9 k8s集群主机安全设置
    • 1.10 k8s集群主机路由转发设置
    • 1.11 禁用swap分区
  • 2 k8s集群部署及可用性验证
    • 2.1 k8s集群部署
    • 2.2 查看集群节点的配置是否已就绪
    • 2.3 验证集群部署成功
  • 3 移除节点
  • 4 增加节点
  • 5 清理k8s集群

前言

Kubespray 是一个自由开源的工具,它提供了 Ansible 剧本(playbook) 来部署和管理 Kubernetes 集群。它旨在简化跨多个节点的 Kubernetes 集群的安装过程,允许用户快速轻松地部署和管理生产就绪的 Kubernetes 集群。

它支持一系列操作系统,包括 Ubuntu、CentOS、Rocky Linux 和 Red Hat Enterprise Linux(RHEL),它可以在各种平台上部署 Kubernetes,包括裸机、公共云和私有云。

1 K8S集群节点准备

1.1 主机列表

主机名称IP地址硬件配置主机角色
node1192.168.191.133/244C4G1Tmaster
node2192.168.191.129/244C4G1Tmaster
node3192.168.191.128/244C4G1Tmaster
node4192.168.191.130/244C4G1Tworker
node5192.168.191.132/244C4G1Tworker
kubespray192.168.191.131/244C4G1Tansible

所有的node节点均为centos9
在这里插入图片描述

1.2 kubespray节点python3及pip3准备

此操作只需要在 kubespary 节点!!!

1.2.1. 更新系统

首先,确保系统是最新的:

sudo dnf update -y

1.2.2. 安装依赖

安装编译Python所需的依赖包:

sudo dnf install -y gcc openssl-devel bzip2-devel libffi-devel zlib-devel ncurses-devel sqlite-devel readline-devel tk-devel xz-devel libuuid-devel

1.2.3. 下载Python 3.12源码

前往Python官网下载Python 3.12的源码包,或使用wget直接下载:

wget https://www.python.org/ftp/python/3.12.0/Python-3.12.0.tgz

1.2.4. 解压源码包

解压下载的源码包:

tar -xvf Python-3.12.0.tgz

1.2.5. 编译和安装Python

进入解压后的目录并编译安装Python:

cd Python-3.12.0
./configure --enable-optimizations
make -j$(nproc)
sudo make altinstall

make altinstall 用于避免覆盖系统自带的Python 2.x或3.x版本。

1.2.6. 验证安装

安装完成后,验证Python 3.12是否安装成功:

python3.12 --version

1.2.7. 设置Python 3.12为默认版本(可选)

如果你希望将Python 3.12设置为默认的Python版本,可以更新alternatives

sudo alternatives --install /usr/bin/python3 python3 /usr/local/bin/python3.12 1
sudo alternatives --config python3

1.2.8. 安装pip

确保pip已安装:

python3.12 -m ensurepip --upgrade

1.2.9. 验证pip

验证pip是否安装成功:

pip3.12 --version

如果日志提醒升级pip也可以根据提示命令去升级到提示版本
下面是我kuberspray主机上的版本
在这里插入图片描述

1.3 kubespray源文件获取

此操作只需要在 kubespary 节点!!!

创建个空目录,我本地创建的目录叫workspace
在这里插入图片描述

在workspace下通过kubespray官网下载代码
在这里插入图片描述

下载完后查看目录
在这里插入图片描述
本篇部署是基于release-2.26这个版本部署的,所以切换到对应的版本

git checkout release-2.26
git branch

在这里插入图片描述

1.4 kubespray环境准备

此操作只需要在 kubespary 节点!!!

kubespray部署所需要的环境及配置说明在kubespray/requirements.txt这个文件下
在这里插入图片描述

使用pip进行下载

pip3 install -r requirements.txt

下载一定要注意报错!!确保所有的环境都成功安装!!

查看ansible是否安装成功,这个是重中之重!

ansible --version

在这里插入图片描述

1.5 配置主机清单

此操作只需要在 kubespary 节点!!!

inventory/sample这个文件夹是一个样例,我们拷贝一份叫mycluster,再进行配置

cp -rfp inventory/sample inventory/mycluster

声明集群ip,这里替换成你的master及node的节点ip

declare -a IPS=(192.168.191.133 192.168.191.129 192.168.191.128 192.168.191.130 192.168.191.132)

创建主机清单

CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}

上面的命令会给我们生成配置到inventory/mycluster/hosts.yaml这个文件下,这个就是主机清单

[root@kubespray kubespray]# ls inventory/mycluster/
group_vars  inventory.ini  patches[root@kubespray kubespray]# CONFIG_FILE=inventory/mycluster/hosts.yaml python3 contrib/inventory_builder/inventory.py ${IPS[@]}DEBUG: Adding group all
DEBUG: Adding group kube_control_plane
DEBUG: Adding group kube_node
DEBUG: Adding group etcd
DEBUG: Adding group k8s_cluster
DEBUG: Adding group calico_rr
DEBUG: adding host node1 to group all
DEBUG: adding host node2 to group all
DEBUG: adding host node3 to group all
DEBUG: adding host node4 to group all
DEBUG: adding host node5 to group all
DEBUG: adding host node1 to group etcd
DEBUG: adding host node2 to group etcd
DEBUG: adding host node3 to group etcd
DEBUG: adding host node1 to group kube_control_plane
DEBUG: adding host node2 to group kube_control_plane
DEBUG: adding host node1 to group kube_node
DEBUG: adding host node2 to group kube_node
DEBUG: adding host node3 to group kube_node
DEBUG: adding host node4 to group kube_node
DEBUG: adding host node5 to group kube_node
[root@kubespray kubespray]# ls inventory/mycluster/
group_vars  hosts.yaml  inventory.ini  patches

这个清单还不正确,让我们查看并修改一下

vim inventory/mycluster/hosts.yaml

在这里插入图片描述
核对一下master节点和work节点是否符合要求,不符合进行对应的调整

1.6 准备K8S集群配置文件

此操作只需要在 kubespary 节点!!!

修改k8s的集群的配置文件

vim inventory/mycluster/group_vars/k8s_cluster/k8s-cluster.yml

在这里插入图片描述
这里有一些集群的配置,确保这里的版本是v1.28.0,如果不是请修改为该版本,因为我们使用的是kubespray的release-2.26版本

1.7 准备k8s集群插件文件

此操作只需要在 kubespary 节点!!!

要启用 Kuberenetes 仪表板和入口控制器等插件,请在文件inventory/mycluster/group_vars/k8s_cluster/addons.yml 中将参数设置为已启用

根据业务自身去进行修改

vim inventory/mycluster/group_vars/k8s_cluster/addons.yml

在这里插入图片描述
我这里只开启了helm和dashboard

1.8 设置kubespray主机免密登录到其他集群主机

1.8.1. 在kubespray主机生成ssh密钥

[root@kubespray ~]# ssh-keygen

1.8.2. 使用ssh-copy-id复制ssh密钥到k8s集群节点主机

下面的过程会有页面交互,输入yes后还会验证目标主机的密码,输入即可

[root@kubespray ~]# ssh-copy-id root@192.168.191.133
[root@kubespray ~]# ssh-copy-id root@192.168.191.129
[root@kubespray ~]# ssh-copy-id root@192.168.191.128
[root@kubespray ~]# ssh-copy-id root@192.168.191.130
[root@kubespray ~]# ssh-copy-id root@192.168.191.132

成功后直接ssh任何集群主机无需密码登录即可,这一步是保证ansible成功部署的关键!
在这里插入图片描述

1.8.3. 在K8S集群节点添加sysops用户指行授权

⬇️此操作需要在集群中的所有节点!!!

echo "sysops ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/sysops

1.9 k8s集群主机安全设置

此操作只需要在 kubespary 节点!!!

ansible all -i inventory/mycluster/hosts.yaml -m shell -a "systemctl stop firewalld && systemctl disable firewalld"

1.10 k8s集群主机路由转发设置

ansible all -i inventory/mycluster/hosts.yaml -m shell -a "echo 'net.ipv4.ip_forward=1' | tee -a /etc/sysctl.conf"

1.11 禁用swap分区

ansible all -i inventory/mycluster/hosts.yaml -m shell -a "sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab &&  swapoff -a"

以上就是所有的环境准备了,只有一步需要在集群节点操作,其他的都在kubespray节点上操作即可!!!

2 k8s集群部署及可用性验证

2.1 k8s集群部署

建议接下来的操作可以开科学上网!!!

执行部署集群的代码

ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root cluster.yml

如果上面的部署失败了可以重复执行,如果重复报错相同错误可以在上面的命令后面加-vvv可以打印详细报错。不明白的就复制到ai里!!

部署成功应该是如下这样,没有红色的报错,且failed=0
在这里插入图片描述

2.2 查看集群节点的配置是否已就绪

我们现在登录到集群节点执行获取节点状态的命令

kubectl get nodes

在这里插入图片描述
查看kube配置

kubectl config view

在这里插入图片描述
可以看到集群配置不正确

kubespray生成了一份配置没有替换,我们手动执行一下

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

再去查看kube配置
在这里插入图片描述

2.3 验证集群部署成功

查看node节点

kubectl get nodes

在这里插入图片描述

3 移除节点

不用修改hosts.yaml文件

[root@kubespray kubespray]# ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root remove-node.yml -v -b --extra-vars "node=node5"

4 增加节点

需要修改hosts.yaml文件,在inventory/mycluster/hosts.yaml中添加新增节点信息

[root@kubespray kubespray]# cat inventory/mycluster/hosts.yaml
all:hosts:node1:ansible_host: 192.168.10.160ip: 192.168.10.160access_ip: 192.168.10.160node2:ansible_host: 192.168.10.161ip: 192.168.10.161access_ip: 192.168.10.161node3:ansible_host: 192.168.10.162ip: 192.168.10.162access_ip: 192.168.10.162node4:  添加ansible_host: 192.168.10.163ip: 192.168.10.163access_ip: 192.168.10.163node5:  添加ansible_host: 192.168.10.164ip: 192.168.10.164access_ip: 192.168.10.164children:kube_control_plane:hosts:node1:node2:node3:kube_node:hosts:node4:  添加node5:  添加etcd:hosts:node1:node2:node3:k8s_cluster:children:kube_control_plane:kube_node:calico_rr:hosts: {}
[root@kubespray kubespray]# ansible-playbook -i inventory/mycluster/hosts.yaml --become --become-user=root scale.yml -v -b

5 清理k8s集群

[root@kubespray ~]# cd kubespray/
[root@kubespray kubespray]# ansible-playbook -i inventory/mycluster/hosts.yaml  --become --become-user=root reset.yml
http://www.hkea.cn/news/362911/

相关文章:

  • 网页设计论文引言北海百度seo
  • 网站空间哪家做的好网络营销的常用工具
  • 网站开发具体问题优化营商环境
  • wordpress4.5 火车头廊坊seo培训
  • 怎么做多个网站单点登录艺考培训
  • 网站怎么做双语种seo关键词如何设置
  • 用java做的游戏下载网站有哪些内容成都网络推广优化
  • 慈溪市网站建设google官网
  • 网站建设计划seo网站排名优化软件是什么
  • 大连网站建设谁家好郴州网站定制
  • 网站建设背景怎么写一个企业该如何进行网络营销
  • 为女朋友做的表白网站百度大数据分析工具
  • 上海高端网站建设服务公seo推广公司
  • 找人合伙做网站平台仿站定制模板建站
  • 深圳市网站建设科技公司腾讯网网站网址
  • wordpress语言文件夹seo销售好做吗
  • 河北建设集团官网西安网站seo
  • 在外汇局网站做登记报告恢复原来的百度
  • 做外贸做的很好的网站全国疫情突然又严重了
  • 开发app需要什么样的团队百度seo优化培训
  • ftp上传网站之后软文什么意思范例
  • 询广西南宁网站运营推广系统
  • wordpress侧边栏小工具佛山网站优化
  • 用vs做网站原型企业培训课程有哪些内容
  • wordpress评论自定义百度刷排名seo
  • 四川建设网官网登录入口泉州seo外包
  • 网站有备案 去掉备案网络营销意思
  • 新建网站推广给企业百度问一问在线咨询客服
  • 曹鹏wordpress建站seo视频广东疫情防控措施
  • 网站开发的岗位排名优化工具