k8s自动化安装脚本(kubeadm-1.23.7)

2023-05-16

文章目录

  • 介绍
    • 软件架构
    • 版本介绍
    • 更新内容
      • 2023-02-19
      • 2023-02-15
      • 2023-02-14
      • 2023-02-10
      • 2022-10-20
      • 2022-08-06
        • 准备部署包
  • 操作步骤
    • 环境准备
      • 结构
        • 备注
    • 解压部署包
    • 修改host文件
    • 脚本使用方式
    • 初始化环境
      • 验证ansible配置
    • 安装k8s集群
      • 登录master的节点
      • 添加node节点
        • master节点状态检查
  • 组件安装
    • 安装方式
      • 访问prometheus
      • 访问grafana
        • 添加node-exporter面板
      • ingress-nginx
      • kuboard的安装
        • 访问kuboard
          • 纳管集群
    • 证书查看
      • kubeadm 命令查看
      • openssl 命令查看
      • kuboard界面查看
      • 更新证书
        • 验证证书有效期
      • 部署包地址
    • 总结

介绍

  1. 以1.21.1的脚本模板,重构k8s的部署方式(v1.23.7),添加私有仓库的部署及相关离线安装包的方式
  2. 通过kubeadm进行一键式部署k8s集群,根据不同的启动方式,可部署单节点、一主多从、多主多从高可用的k8s集群
  3. 通过ansible快速部署k8s的基础组件(nfs、helm、ingress、monitoring【联网|离线镜像】、kuboard【联网】)

软件架构

  1. 通过部署包中的run.sh进行统一入口,进行初始化环境(部署节点)
  2. ansible+shell实现自动获取host文件中的相关信息进行自动化部署

版本介绍

  1. 需要提前准备多台主机,根据准备机器的多少,修改host文件,本环境是为了开发环境中快速部署k8s集群
  2. 采用kubeadn安装,采用本地yum仓库,版本是:1.23.7
  3. 安装docker的yum源是基于Centos7.5/7.6,版本是:23.0.1
  4. 安装ansible时,使用离线安装,版本: 2.9.27
  5. 安装helm时,使用离线安装,版本: v3.8.1
  6. 高可用安装时:采用haproxy(1.5.18-9)+keepalived(1.3.5-19)
  7. 添加kuboard:v3面板的安装(ansible)主机:单节点、单容器

更新内容

2023-02-19

  1. 修改k8s版本及docker的版本,优化后续修改源镜像的操作
  2. 去除dashboard面板,添加kuboard:v3面板的安装

2023-02-15

  1. 离线安装helm,同时repo add 仓库(联网)
  2. 默认不安装,控制按钮在host文件中的k8s_helm_enable参数
  3. 添加metrics-server组件,用于实现kubectl top pod(离线安装)
  4. 默认安装,控制按钮在host文件中的metrics_server_enable参数

2023-02-14

  1. 优化监控组件,通过github上找到的yaml,结合ansible进行自动化的部署到k8s集群上
  2. k8s master节点的第一台机器上/opt/deploy/grafana/node_export.json文件可以导入到grafana平台上,用于监控物理机的机器资源信息
  3. prometheus-k8s服务是statefulsets的服务,且有资源限制,内存400Mi,过低会导致服务无法启动
  4. 安装监控组件时,需要确定服务的基础设施是否符合预期

2023-02-10

  1. 处理内核参数有几率加载失败的情况
  2. 重构初始化环境的脚本,减少初始化时出现的错误
    • 如果失败,重新执行即可
  3. 重写设置主机名的角色,默认删除后覆盖/etc/hosts文件
  4. 新增nfs服务的安装,可以通过storageClassName: nfs-storage字段添加pvc
    • nfs目前只支持单节点部署,不支持自动化对应外部nfs
    • 对接外部nfs需要手动修改对应的yaml即可,后续详细介绍

2022-10-20

  1. 添加kubeadm自动部署高可用版本,新增haproxy+keepalived
  2. 修复dashboard权限问题,添加ingress的部署方式(默认安装,通过)
  3. 部署包已更新至下述链接

2022-08-06

  1. 时间太久,忘记了。。。

准备部署包

https://download.csdn.net/download/qq_44246980/85695007

新版本未成功上传

操作步骤

环境准备

作用IP地址操作系统配置
k8s-master01192.168.1.21CentOS7最低配置2C2G
k8s-master02192.168.1.22CentOS7最低配置2C2G
k8s-master02192.168.1.23CentOS7最低配置2C2G
k8s-node01192.168.1.31CentOS7最低配置2C2G
ansible192.168.1.31CentOS7最低配置1C1G

结构

在这里插入图片描述

  1. node节点可以填写多个,根据实际情况确认,但是不能超出单master节点的限制
  2. master节点至少是三个少一个都不是高可用版本
  3. 高可用版本keepalived需要提前确认好vip
  4. 建议机器处于同一网段中,或者同一局域网内

备注

  1. 建议单独找一台机器用于部署ansible服务,可以不接受
  2. 但是需要确保机器资源充足,且相关的端口不会冲突(38081【yum】、38082【registry】)
  3. 相关的网络关系需要提前确认
  4. 三台master节点,可以是2n+1台,目前因本地环境,只测试了三台master其他节点尚未涉及

解压部署包

#上传部署包(xshell)
cd /opt                      #目录随意
yum -y install lrzsz 
rz install_k8s_kubeadm_v1.23.7_20230219.tar.gz
#解压
tar -xvf install_k8s_kubeadm_v1.23.7_20230219.tar.gz

修改host文件

#部署机器,初始脚本、安装包镜像
[deploy_server]
192.168.1.31 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 

#多主多从
[kubernetes_master]
192.168.1.21 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-master01"
192.168.1.22 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-master02"
192.168.1.23 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-master03"

[kubernetes_node]
#192.168.1.23 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-node01"
#192.168.1.24 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-node02"

#脚本导致添加必须是master01节点
[nfs]
#192.168.1.21 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22

#双节点
[haproxy_keepalived]
192.168.1.21 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-master01"
192.168.1.22 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-master02"


#不填写,则不安装镜像仓库
[docker_repositry]
#192.168.1.136 ansible_user="root" ansible_ssh_pass="1"  ansible_ssh_port=22 hostname="k8s-node01"

[nodes:children]
kubernetes_master
kubernetes_node


[all:vars]
#脚本解析主机信息,层级默认只能添加3个,即3个master,3个node
Number="3"
master_vip="192.168.1.120"               #keepalived使用的vip
add_node_hosts="no"                      #添加主机信息(yes=合并,no=删除后新建[覆盖])

######################################################################################
#布尔值true or false
Basic_enable="true"                       #安装基础软件包
set_host_enable="true"                    #设置主机名注入/etc/hosts文件
metrics_server_enable="true"              #安装metrics_server,kubectl top pod 
######################################################################################
#可选组件
######################################################################################
ingress_enable="false"                    #安装ingress服务
k8s_nfs_enable="false"                    #安装nfs-client服务,上述的地址必须填写,否则nfs客户端会启动失败
k8s_helm_enable="false"                   #k8s master节点安装helm客户端(在线)
######################################################################################
#监控组件、k8s v1.23.7版本以上(在线)
#监控组件的镜像采用在线的模式,需要联网自动下载,减少离线安装包的大小
#git clone https://github.com/prometheus-operator/kube-prometheus.git
monitoring_enable="false"                  #是否安装监控组件,默认不安装
clean_monitoring="false"                   #是否清理当前已安装的监控组件,注意,修改前需要确认监控组件已经部署完成后需要清理
#监控组件服务  
nodeExporter_enable="true"                 #采集器node_export
prometheus_enable="true"                   #安装Prometheus服务
grafana_enable="true"                      #是否安装grafana服务
ControlPlane_enable="true"                 #部署k8s ControlPlane,控制面板,里面有很多的设置放在一起的,用来设置规则
prometheusAdapter_enable="true"            #prometheusAdapter
prometheusOperator_enable="true"           #prometheusOperator
  
kube_state_metrics_enable="false"          #kube_state_metrics
alertmanager_enalbe="false"                #是否安装alertmanager服务
blackboxExporter_enalbe="false"            #是否安装blackboxExporter服务
  1. 一主多从需要把kubernetes_master里只添加一个地址
  2. 多主多从需要把kubernetes_master里添加三个地址,脚本只支持添加三个master节点
  3. 多主多从同时需要把haproxy_keepalived角色填写

脚本使用方式

[root@registry]# cd /opt/deploy_install_k8s
[root@registry]# ls 
host  images  init  playbook  README.md  run.sh  yum
[root@ansible install_k8s_kubeadm]# sh run.sh 
 【registry 2023-02-19 03:01:55】 sh run.sh init            初始化环境 
----------------------------------------------------------------------------
 【registry 2023-02-19 03:01:55】 sh run.sh online          在线安装(kuboard、monitoring组件) 
 【registry 2023-02-19 03:01:55】 sh run.sh offline         离线安装k8s(1.23.7) 
----------------------------------------------------------------------------
 【registry 2023-02-19 03:01:55】 sh run.sh ping            验证ansible的主机清单信息(ping) 
 【registry 2023-02-19 03:01:55】 sh run.sh install         通过host文件进行组件的单独安装 
----------------------------------------------------------------------------
 【registry 2023-02-19 03:01:55】 sh run.sh load offline    保存离线镜像包(monitoring组件) 
 【registry 2023-02-19 03:01:55】 sh run.sh load warehouse  导入上面保存的组件 
 【registry 2023-02-19 03:01:55】 sh run.sh load help       帮助信息 

#1. 执行run.sh脚本,获取脚本的执行帮助信息
#2. sh run.sh init    初始化ansible机器,初始化环境章节详细介绍
#3. sh run.sh online  在线安装(kuboard、monitoring组件) ,相关组件的镜像未合并到registry镜像里(减少安装包的大小)
#4. sh run.sh online  离线安装(kuboard、monitoring组件),通过脚本在线下载并保存离线镜像包,然后配合脚本导入离线环境的机器中使用
#5. sh run.sh ping    验证ansible的网络是否正常通信
#6. sh run.sh install 默认在线安装基础组件(monitoring组件),其他的组件则存放在本地的registry镜像仓库里
#7. sh run.sh load offline 虚拟机解压安装包后,执行初始化环境,联网状态下下载(monitoring组件)的离线镜像并打包,存放/tmp
#8. sh run.sh load warehouse 拷贝离线包,到执行目录(执行后提示/tmp/offline/)

初始化环境

[root@registry install_k8s_kubeadm]# sh run.sh online  
Online(在线) Dashboard 
----------------------------------------------------------------------------
1) 初始化环境(ansible))
2) 安装k8s集群[一主多从](1.23.7)
3) 安装k8s集群[多主多从](1.23.7)
4) 添加k8s node节点(1.23.7) 
5) 更新k8s certs,续费10年(1.23.7) 
----------------------------------------------------------------------------
6) docker安装kuboard(v3)[在线安装]
7) k8s安装其他组件(nfs、monitoring、ingress)[在线安装]
----------------------------------------------------------------------------
请输入对应的数字编号:1
请输入部署机的地址(192.168.1.31):
 【registry 2023-02-19 03:01:24】  docker-ce-23.0.1-1.el7.x86_64已安装,不需要重新部署 
 【registry 2023-02-19 03:01:24】  docker服务已正常启动!!! 
 【registry 2023-02-19 03:01:24】 /var/images/deploy Ready to complete 
-----------------------------------------------------------------------------------------  
Loaded image: registry.bcbx.com:38082/bcbx_registry:v1.0.0
 【repositry.tar】 load repository success  
-----------------------------------------------------------------------------------------  
 【registry 2023-02-19 03:01:25】 /var/images/repositry Ready to complete 
 【registry 2023-02-19 03:01:25】 clear /var/images/repositry,please wait!!! 
-----------------------------------------------------------------------------------------  
 【registry 2023-02-19 03:01:25】 registry rm success 
 【registry 2023-02-19 03:01:25】 start the image registry success 
-----------------------------------------------------------------------------------------  
 【registry 2023-02-19 03:01:27】 yum_repo rm success 
 【registry 2023-02-19 03:01:27】 start the image yum_repo success 
-----------------------------------------------------------------------------------------  
 【registry 2023-02-19 03:01:29】  ansible-2.9.27-1.el7.noarch已安装,不需要重新部署 
 【registry 2023-02-19 03:01:29】  Ansible.cfg配置文件修改成功 
#部署机的地址,通过脚本过去的地址,确认无误后直接回车即可

出现上述错误,则重新执行一下
结果如下

请添加图片描述

  1. 安装docker服务
  2. 安装ansible服务,修改配置文件
  3. 准备离线yum仓库
  4. 准备离线registry仓库,相关挂载点是:/var/images/

验证ansible配置

sh run.sh ping

请添加图片描述

安装k8s集群

[root@registry install_k8s_kubeadm]# sh run.sh online
Online(在线) Dashboard 
----------------------------------------------------------------------------
1) 初始化环境(ansible))
2) 安装k8s集群[一主多从](1.23.7)
3) 安装k8s集群[多主多从](1.23.7)
4) 添加k8s node节点(1.23.7) 
5) 更新k8s certs,续费10年(1.23.7) 
----------------------------------------------------------------------------
6) docker安装kuboard(v3)[在线安装]
7) k8s安装其他组件(nfs、monitoring、ingress)[在线安装]
----------------------------------------------------------------------------
请输入对应的数字编号:3
#host文件需要提前修改
#确认host中用户名、密码、ip正确且网络连接正常后,回车,等待执行脚本结束

执行结果如下:
请添加图片描述

登录master的节点

请添加图片描述

添加node节点

  1. 在host文件下的kubernetes_node分组下添加新增的需要新增的节点,并把之前已添加的节点删除
  2. 修改后执行 sh run.sh online脚本,选择4,添加node节点
  3. 脚本正常执行完毕后,检查各个节点的/etc/hosts文件,如果确认对应的域名解析,需要手动添加对应的主机关系
  4. 注意:每次添加node节点时,需要把已填入集群的节点手动删除,否则会出现重复加入的操作导致剧本执行失败
 sh run.sh online

请添加图片描述

master节点状态检查

请添加图片描述

组件安装

请添加图片描述

  1. 默认不安装,手动修改后安装,可以在按照k8s集群后进行安装使用
  2. 也可以在安装集群的是否安装

安装方式

[root@k8s-node01 install_k8s_kubeadm]# sh run.sh  install
  1. 需要前修改上述图片中的布尔值,改为true时,开始执行安装
  2. 因本地环境资源不足,不做演示截图

访问prometheus

访问地址: http://k8s-ip:30090/请添加图片描述

访问grafana

访问地址: http://k8s-ip:30000/
登陆密码: admin/admin

添加node-exporter面板

  1. 下载k8s master节点的第一台机器上/opt/deploy/grafana/node_export.json文件
  2. 通过浏览器登陆grafana平台,通过Dashboards按钮,鼠标停放,选择import
  3. 出现导入界面,选择upload json file按钮,选择下载到本地的文件
  4. 其他都是自动填充的,最后一个选择prometheus data source数据源后点击导入即可

ingress-nginx

请添加图片描述

使用方式,自行百度

kuboard的安装

#在线下载,网速较慢的情况下建议使用云主机下载
docker pull  swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3
docker save  swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3 -i kuboard.tar.gz
docker load -i kuboard.tar.gz
[root@registry ~]# docker load -i kuboard.tar.gz 
2d8252e11370: Loading layer [==================================================>]  3.072kB/3.072kB
22d9813f1d6a: Loading layer [==================================================>]  9.216kB/9.216kB
331120fa4807: Loading layer [==================================================>]  23.75MB/23.75MB
b6e875ecbb12: Loading layer [==================================================>]  18.77MB/18.77MB
9b6a33d74d53: Loading layer [==================================================>]  42.52MB/42.52MB
87405db6d205: Loading layer [==================================================>]  2.024MB/2.024MB
c502deb85597: Loading layer [==================================================>]  28.67kB/28.67kB
f062a9dd21ed: Loading layer [==================================================>]  61.95kB/61.95kB
20f6f032efed: Loading layer [==================================================>]  42.06MB/42.06MB
ba47fe085ef6: Loading layer [==================================================>]  13.32MB/13.32MB
Loaded image: swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3

#网速ok,则无需上述操作,直接执行即可
[root@registry install_k8s_kubeadm]# sh run.sh online

请添加图片描述

访问kuboard

http://ansible-ip:18080

纳管集群

请添加图片描述

  1. 详细功能请查看kuboard的官方
  2. https://www.kuboard.cn/

证书查看

kubeadm 命令查看

#可以通过 kubeadm alpha certs check-expiration 命令查看相关证书是否过期。
#注:该命令仅在 v.15 之后的版本可用
kubeadm alpha certs check-expiration
# k8s v1.23.7
kubeadm certs  check-expiration

请添加图片描述

openssl 命令查看

openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ' Not '

请添加图片描述

kuboard界面查看

请添加图片描述

更新证书

Kubenetes通过脚本自动更新证书有效期脚本来源

[root@registry install_k8s_kubeadm]# sh run.sh online
Online(在线) Dashboard 
----------------------------------------------------------------------------
1) 初始化环境(ansible))
2) 安装k8s集群[一主多从](1.23.7)
3) 安装k8s集群[多主多从](1.23.7)
4) 添加k8s node节点(1.23.7) 
5) 更新k8s certs,续费10年(1.23.7) 
----------------------------------------------------------------------------
6) docker安装kuboard(v3)[在线安装]
7) k8s安装其他组件(nfs、monitoring、ingress)[在线安装]
----------------------------------------------------------------------------
请输入对应的数字编号:5

请添加图片描述

验证证书有效期

请添加图片描述

部署包地址

链接:https://pan.baidu.com/s/1Q31dwjvQJVZOZWxbR4Uv7w?pwd=bcbx
提取码:bcbx

总结

  1. 上述则是当前部署中可运行正常的服务
  2. 执行sh Run.sh init,则可以调试脚本,对应的启动文件,修改,则可以进行调试
  3. 执行sh Run.sh install,修改host文件,则可以进行安装组件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

k8s自动化安装脚本(kubeadm-1.23.7) 的相关文章

  • k8s v1.16设置Job ttlSecondsAfterFinished不生效

    目录 Completed的job默认不会清理 配置自动清理job ttl机制自动清理完成的job ttl controller 开启 TTLAfterFinished kube apiserver开启TTLAfterFinished kub
  • k8s部署springboot

    前言 首先以SpringBoot应用为例介绍一下k8s的部署步骤 1 从代码仓库下载代码 比如GitLab 2 接着是进行打包 比如使用Maven 3 编写Dockerfile文件 把步骤2产生的包制作成镜像 4 上传步骤3的镜像到远程仓库
  • k8s Pod定义yaml配置文件详解

    此文件相关配置查询 此文件只做参考 以查询为准 kubectl explain 为文档查询命令如 kubectl explain pod spec volumes apiVersion v1 版本 kind pod 类型 pod metad
  • CentOS 7 下 minikube 部署 && 配置

    CentOS 7 下 minikube 部署 配置 文章目录 CentOS 7 下 minikube 部署 配置 下载 安装 下载安装脚本 安装 minikube 启动 minikube 环境 安装 kubectl 工具 启动 miniku
  • IDEA远程调试

    1 概述 原理 本机和远程主机的两个 VM 之间使用 Debug 协议通过 Socket 通信 传递调试指令和调试信息 被调试程序的远程虚拟机 作为 Debug 服务端 监听 Debug 调试指令 jdwp是Java Debug Wire
  • kubernetes最佳实践(三) - kubedns部署

    1 服务发现 kubernetes 提供了 service 的概念可以通过 VIP 访问 pod 提供的服务 但是在使用的时候还有一个问题 怎么知道某个应用的 VIP 比如我们有两个应用 一个 app 一个 是 db 每个应用使用 rc 进
  • kubectl常用命令

    alias k kubectl alias kc k create f alias kgp k get pods alias kdp k describe pods alias kdep k delete pods alias kl k l
  • kubeadm配置虚拟机k8s集群

    环境 centos7 vm pro windows terminal termius 虚拟机 硬件配置 2核2G 实验用 具体可根据电脑调整 配置3台 master01 node01 node02 通过克隆虚拟机直接复制 配置通一项以后建议
  • k8备份与恢复-Velero

    简介 Velero 是一款可以安全的备份 恢复和迁移 Kubernetes 集群资源和持久卷等资源的备份恢复软件 Velero 实现的 kubernetes 资源备份能力 可以轻松实现 Kubernetes 集群的数据备份和恢复 复制 ku
  • 十二. Kubernetes Pod 与 探针

    目录 一 Pod Pod 中的多容器协同 Pod 的组成与paush 重要 Pod 的生命周期 Pod状态与重启策略 静态Pod 二 探针 1 livenessProbe存活探针 2 readinessProbe就绪探针 3 startup
  • kubernetes报错Error from server (AlreadyExists): error when creating "kubernetes-dashboard.yaml": serv

    在执行 kubectl apply f kubernetes dashboard yaml 报错 Error from server AlreadyExists error when creating kubernetes dashboar
  • 国内k8s集群部署的几种方式

    前言 总所周知 由于某种原因 通过官方的方式在国内是无法顺利部署k8s集群的 这里记录下在国内部署的几种方式 部署方式 目前我所了解有以下几种方式 使用kubeadmin通过离线镜像的方式 网上教程和镜像包挺多的 通过厂商集成的方式如 ra
  • 基于minikube的k8s单机环境部署ThingsBoard

    1 minikube安装k8s单机版 https blog csdn net qq 39879126 article details 121587678 2 安装ThingsBoard 下载 https github com thingsb
  • 是否有重新启动集群的最佳实践

    我遵循亚历克斯埃利斯的优秀tutorial https gist github com alexellis fdbc90de7691a1b9edb545c17da2d975使用kubeadm在 Raspberry Pi 上启动 K8s 集群
  • flannel和calico区别

    k8s网络模式 Flannel数据包在主机间转发是由backend实现的 目前已经支持UDP VxLAN host gw等多种模式 VxLAN 使用内核中的VxLAN模块进行封装报文 也是flannel推荐的方式 host gw虽然VXLA
  • flannel和calico区别

    k8s网络模式 Flannel数据包在主机间转发是由backend实现的 目前已经支持UDP VxLAN host gw等多种模式 VxLAN 使用内核中的VxLAN模块进行封装报文 也是flannel推荐的方式 host gw虽然VXLA
  • 使用 kubeadm 为什么要手动生成证书?

    我正在尝试遵循这个tutorial https blog inkubate io install and configure a multi master kubernetes cluster with kubeadm 自己生成证书而不是依
  • kubectl 无法从私有存储库中提取镜像

    我正在运行 kubeadm alpha 版本来设置我的 kubernates 集群 我正在尝试从 kubernates 提取托管在 nexus 存储库中的 docker 镜像 当我尝试创建一个 Pod 时 它每次都会给出 ImagePull
  • Kubernetes 仪表板显示未经授权

    我使用 KUBEADM 工具 IN LOCAL 配置了具有 1 个主节点和 4 个工作节点的 kubernetes 集群 所有节点都运行良好 部署了一个应用程序并能够从浏览器访问该应用程序 我尝试了很多方法使用 kubectl 创建仪表板
  • Kubernetes WatchConnectionManager:执行失败:HTTP 403

    我遇到错误Expected HTTP 101 response but was 403 Forbidden 在我使用以下命令设置新的 Kubernetes 集群之后Kubeadm当我提交下面遇到的 pyspark 示例应用程序时 只有一个主

随机推荐

  • 程序设计思维与实践 Week9 作业 A 咕咕东的目录管理器

    题目描述 xff1a 咕咕东的雪梨电脑的操作系统在上个月受到宇宙射线的影响 xff0c 时不时发生故障 xff0c 他受不了了 xff0c 想要写一个高效易用零bug的操作系统 这工程量太大了 xff0c 所以他定了一个小目标 xff0c
  • jsoncpp linux平台编译和arm移植

    0x00 下载 http sourceforge net projects jsoncpp 或者 http download csdn net detail chinaeran 8631141 0x01 Linux平台编译 安装 scons
  • 摩斯密码解码脚本

    摩斯密码解码脚本 解题思路 0010 0100 01 110 1111011 11 11111 010 000 0 001101 1010 111 100 0 001101 01111 000 001101 00 10 1 0 010 0
  • php匹配关键字并跳转页面

    php匹配关键字跳转页面 strstr函数搜索要从目标字符串中搜索的字符串 xff1b strstr函数仅用于检查字符串是否存在 xff1b strstr函数的用法如下 lt php b 61 39 or 39 name 61 GET 39
  • docker常见命令小结

    docker常见命令小结 常见命令 docker ps 查看正在运行的容器 docker exec it 264bb068855e bin bash 进入容器 xff0c 并作出修改 docker commit 3bd0eef03413 l
  • 前端html文件下载,同源与异源下载

    属性说明download下载的资源的名称target打开该连接的方式 self blank href资源的地址 本地 远程地址 a标签跳转 lt DOCTYPE html gt lt html gt lt head gt lt meta c
  • Python图像(字母数字)识别

    本文只针对数字或字母验证码识别 准备工具 tesseract ocr w64 setup v4 1 0 20190314 exepip install pytesseractpip install pillow中文包 tesseract o
  • Python习题

    1 题目 xff1a 编写一个程序 xff0c 使用for循环输出0 10之间的整数 xff1b 代码 xff1a span class token keyword for span i span class token keyword i
  • 面向对象模块和包

    文章目录 1 1 模块1 2 模块的使用2 包 1 1 模块 参考链接 xff1a Python 面向对象 模块和包 来源 xff1a CSDN Python面向对象 模块和包 来源 xff1a CSDN 概念 xff1a 每一个以py为拓
  • SUNDIALS库的编译和使用

    SUNDIALS库的编译和使用 1 简介 SUNDIALS SUite of Nonlinear and DIfferential ALgebraic equation Solvers 是由美国劳伦斯利福摩尔国立实验室 xff08 Lawr
  • 【ing】在Linux虚拟机上安装Sundials库(图文)

    1 Sundials库下载 Sundials下载地址 2 具体步骤 2 1 下载sundials 2 2 0 本次尝试选择sundials 2 2 0进行安装 Sundials文件内容如下 xff1a 2 2 创建安装目录 安装目录名称为
  • 基于docker部署Prometheus

    文章目录 基于Docker搭建Prometheusgitee 介绍Prometheus一 安装运行Prometheus docker版 部署Prometheus1 安装docker联网状态下阿里云离线安装包下载2 下载镜像包3 启动node
  • 程序设计思维与实践 Week11 作业 E 选做题11-1 东东与 ATM

    题目描述 xff1a 一家银行计划安装一台用于提取现金的机器 机器能够按要求的现金量发送适当的账单 机器使用正好N种不同的面额钞票 xff0c 例如D k xff0c k 61 1 2 N xff0c 并且对于每种面额D k xff0c 机
  • kubectl edit

    文章目录 kubectl edit官方文档语法示例 kubectl edit 官方文档 使用默认编辑器 编辑服务器上定义的资源 使用命令行工具获取的任何资源都可以使用edit命令编辑 edit命令会打开使用KUBE EDITOR xff0c
  • kubectl exec

    文章目录 kubectl exec通过bash获得pod中某个容器的TTY xff0c 相当于登录容器 命令行 创建一个test文件 xff1a kubectl exec exec命令同样类似于docker的exec命令 xff0c 为在一
  • kubectl describe

    文章目录 describe语法选项 示例描述一个node详细信息描述一个pod描述calico yaml中的资源类型和名称指定的pod描述所有的pod描述所有包含label k8s app 61 calico kube controller
  • k8s自动化安装脚本(kubeadm-1.21.1)

    文章目录 介绍软件架构安装教程更新内容2023 02 102022 10 202022 08 06准备部署包 操作步骤环境准备结构备注 解压部署包修改host文件初始化环境验证ansible配置 安装k8s集群登录master的节点添加no
  • Shell——docker启动yapi

    文章目录 脚本简介脚本注解执行方式脚本内容 脚本简介 基于运维统一脚本中 17 平台管理下的Yapi管理平台部署系统版本Centos7docker环境 脚本注解 该脚本快速部署yapi平台 xff0c 已通过docker commit把对应
  • Shell——查看基础信息脚本

    文章目录 脚本简介脚本注解安装方式执行方式执行结果 脚本内容新版本旧版本 脚本简介 基于运维统一脚本中 xff0c 19 脚本安装下的检查服务器脚本安装使用yum安装 yum仓库 xff0c 系统版本Centos7 脚本注解 该脚本为了快速
  • k8s自动化安装脚本(kubeadm-1.23.7)

    文章目录 介绍软件架构版本介绍更新内容2023 02 192023 02 152023 02 142023 02 102022 10 202022 08 06准备部署包 操作步骤环境准备结构备注 解压部署包修改host文件脚本使用方式初始化