Fei

非淡泊无以明志,非宁静无以致远

一、基础篇

1.1 Linux入门

linux 官网: www.kernel.org

网站扫描: https://sitereport.netcraft.com

  • Linux和Unix关系
    • Uninx
      • BSD
        • FreeBSD
      • Sun Solaris
      • IBM AIX
      • AT&T System V
      • Minix
        • GUN/Linux内核
          • Ubuntu
          • RedHat
            • centOS
            • RedhatOS
          • SUSE
          • Fedora

1.2 vm和Linux安装

使用相应工具安装linux虚拟机, 本文使用multipass安装虚拟机
安装multipass brew install multipass

虚拟机网络连接模式介绍

  • 桥接模式: 虚拟机会获得一个与主机网络相同网段的IP地址,与主机、同网段的其他设备以及外网设备进行通信. 桥接模式将虚拟机直接连接到物理网络,虚拟机像是主机网络中的一台真实设备, 适合需要与外网和局域网中的其他设备自由通信的虚拟机,常用于企业网络、开发测试等。可能会引起ip冲突.
  • NAT模式: 虚拟机被分配一个虚拟的私有IP地址,外部网络无法直接访问该虚拟机。虚拟机通过主机的NAT转发来访问外网,主机充当网关角色。虚拟机只能通过主机访问外网,不能直接访问局域网中的其他设备。不会引起ip冲突
  • 仅主机模式:仅主机模式为虚拟机和主机之间创建一个完全隔离的网络环境,虚拟机不能直接访问外网。虚拟机和主机通过一个专用的虚拟网络接口互相通信,但不会与外部网络相连。不能访问外网,也不能与局域网中的其他设备通信。

Rancher 是一个 Kubernetes 管理工具,让你能在任何地方任何提供商上部署和运行集群。

Rancher 可以创建来自 Kubernetes 托管服务提供商的集群,创建节点并安装 Kubernetes,或者导入在任何地方运行的现有 Kubernetes 集群。

Rancher 基于 Kubernetes 添加了新的功能,包括统一所有集群的身份验证和 RBAC,让系统管理员从一个位置控制全部集群的访问。
此外,Rancher 可以为集群和资源提供更精细的监控和告警,将日志发送到外部提供商,并通过应用商店(Application Catalog)直接集成 Helm。如果你拥有外部 CI/CD 系统,你可以将其与 Rancher 对接。没有的话,你也可以使用 Rancher 提供的 Fleet 自动部署和升级工作负载。

Rancher 是一个 全栈式 的 Kubernetes 容器管理平台,为你提供在任何地方都能成功运行 Kubernetes 的工具。

1. 概述

Rancher 为 DevOps 工程师提供简单直接的用户界面,以管理其应用负载。用户不需要对 Kubernetes 有非常深入的了解,即可使用 Rancher。Rancher 应用商店包含一套实用的 DevOps 开发工具。Rancher 获得了多种云原生生态系统产品的认证,包括安全工具、监控系统、容器镜像仓库、存储和网络驱动等。

下图讲述了 Rancher 在 IT 管理团队和 DevOps 开发团队之间扮演的角色。DevOps 团队把他们的应用部署在他们选择的公有云或私有云上。IT 管理员负责查看并管理用户、集群、云服务的权限。

1.1 Rancher 架构

1.1.1 Rancher Server 和 Components

基于Ubuntu 24.04 快速部署K8S 1.31.0集群

1. K8S集群主机准备

主机操作系统版本: Ubuntu 24.04

硬件配置说明:
master 2核 4G内存 20GB硬盘
node1 2核 4G内存 20GB硬盘
node2 2核 4G内存 20GB硬盘

1.1 主机名配置

master: hostnamectl set-hostname k8s-master01
node1: hostnamectl set-hostname k8s-worker01
node2: hostnamectl set-hostname k8s-worker02

1.2 主机IP地址配置

vim /etc/netplan/50-cloud-init.yaml

1
静态配置

1. 基本操作

gitignore
忽略文件
如果有文件需要忽略,可以在根目录下创建一个.gitignore文件,在里面写上需要忽略的文件名,比如:

1
2
3
4
.idea/
node_modules/
public/
temp.txt

如果某些文件已被 Git 跟踪,即使你将它们添加到 .gitignore 文件中,Git 仍然会继续跟踪它们。你需要使用以下命令停止跟踪这些文件

1
2
3
git rm --cached <file> # 停止跟踪文件
git rm -r --cached <folder_name> # 停止跟踪文件夹
git rm -r --cached . # 停止跟踪所有文件

index_img: /img/; summary:

https://wild-flame.github.io/guides/docs/mac-os-x-setup-guide/nodejs

1. 安装

1
brew install node

2. 配置

查看当前镜像源: npm config get registry

  1. 配置华为云镜像

    1
    npm config set registry https://mirror.cloud.huawei.com/npm/registry
  2. 修改成腾讯云镜像源

    1
    npm config set registry http://mirrors.cloud.tencent.com/npm/
  3. 配置淘宝镜像

    1
    npm config set registry https://registry.npmmirror.com

index_img: /img/; summary:

1. Mac

1.1 Terminal

2. Vscode

2.1 Markdown

  1. Command + Shift + v 打开预览
  2. Command + Shift + c 唤出命令行

2.2 截图配置

2.2.1 Vscode 配置

在设置中找到Markdown › Copy Files: Destination
配置内容为
Item: *.md
Value: ./${documentBaseName}/${fileName}

Hexo

1. 基础介绍

1.1 目录介绍

1
2
3
4
5
6
7
8
9
10
├── _config.fluid.yml
├── _config.yml
├── db.json
├── node_modules
├── packag$$e-lock.json
├── package.json
├── public
├── scaffolds
├── source
└── themes
  1. _config.fluid.yml: 这是一个配置文件,用于配置Hexo的插件、主题等。
  2. _config.yml: 这是一个配置文件,用于配置Hexo的插件、主题等。
  3. db.json: 这是一个数据库文件,用于存储Hexo的博客数据。
  4. package.json: 这是一个配置文件,存储应用程序的信息。 EJS, Stylus 和 Markdown 渲染引擎 已默认安装,您可以自由移除。 如果您想,可以稍后卸载它们。
  5. scaffolds: 模版 文件夹。 当您新建文章时,Hexo 会根据 scaffold 来创建文件。
  6. source: 资源文件夹。 是存放用户资源的地方。 除 _posts 文件夹之外,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。 Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去
  7. themes: 主题文件夹。 Hexo 会根据主题来生成静态页面。

1.2 配置文件

您可以在_config.yml中修改大部分的配置。

1.3 资源文件夹

1. 介绍

在使用Python开发时,遇到了很多配置环境的情形。有时需要安装不同版本的Python,有时需要安装不同的Python包,有时需要安装不同的Python包的不同版本。

最开始使用时我基本上都是看网上的教程,不同的Python项目可能使用不同的环境管理工具,不知不觉就用过了pip、conda、mamba、virtualenv、venv等等。这些工具各有优劣,有时候我也会混用,导致环境变量混乱,有时候还会出现冲突。

由于一直没有什么一致性,导致电脑上的Python环境比较乱,我自己也感觉云里雾里的,所以我打算总结一下这些工具的使用方法,以及它们的优缺点。最后会给出我自己推荐的一些使用方法。

2.Python管理工具分类

Python管理工具可以分为两类:

包管理工具:用于安装、卸载、更新Python包,如pip、conda、mamba等。

环境管理工具:用于管理Python环境,如venv、virtualenv、conda、mamba等。

我们这里主要讨论环境管理工具,因为包管理工具的使用方法比较简单,而且大多数情况下我们都会使用pip,所以这里不再赘述。