Kubernetes简单概述

Kubernetes (k8s) 由多个组件组成,这些组件协同工作以提供一个强大的容器编排平台。常见的 Kubernetes 组件:

主节点组件 (Master Node Components)

API Server:

负责接收和处理来自用户、工具和其他 Kubernetes 组件的 REST 操作请求。它是 Kubernetes 控制平面的入口。

etcd:

一个分布式键值存储,用于存储 Kubernetes 集群的所有数据,包括集群的配置信息和状态数据。

Controller Manager:

负责执行集群中的控制循环,确保集群的实际状态符合预期状态。常见的控制器包括节点控制器、复制控制器、端点控制器等。

Scheduler:

负责将待调度的 Pod 分配到合适的节点上。它考虑各种调度策略、资源需求、节点的健康状况等因素。

工作节点组件 (Node Components)

kubelet:

运行在每个节点上的代理,负责与 API Server 通信,管理该节点上的 Pod 和容器。kubelet 接收 Pod 规格并确保容器按要求运行。

kube-proxy:

负责维护网络规则,允许 Kubernetes 服务之间的网络通信。它实现了服务的负载均衡。

Container Runtime:

负责运行容器的实际软件,可以是 Docker、containerd、CRI-O 等。

附加组件 (Additional Components)

Dashboard:

一个基于 Web 的 Kubernetes 用户界面,用于查看集群状态和管理资源。

DNS:

Kubernetes 提供内部 DNS 服务,用于为其他 Kubernetes 服务创建 DNS 记录,使服务之间可以通过 DNS 名称相互访问。

Ingress Controller:

管理 Ingress 资源,提供 HTTP 和 HTTPS 路由功能,将外部流量引导到集群内的服务。

Prometheus 和 Grafana:

用于监控和可视化集群状态。Prometheus 收集指标数据,Grafana 用于展示这些数据。

Helm:

Kubernetes 的包管理工具,用于简化应用的安装和管理。

这些组件共同协作,使得 Kubernetes 能够高效地管理和编排容器化应用。了解这些组件及其功能,可以更好地管理和运维 Kubernetes 集群。

ChatGPT 代理规则不生效,一直被获取真实 IP

按理说让*.openai.com走代理,甚至直接开全局模式,ChatGPT不应该还能获得用户的真实IP了,但实际上还是报错1020。遇到此类情况,该如何解决呢?

1. 关闭浏览器的 HTTP/3

ChatGPT 网站启用了HTTP/3协议,该协议是基于UDP协议的QUIC协议实现的,读起来起来很绕嘴是吧?
简单来说,如果代理工具不支持嗅探 HTTP/3 协议,或者没有启用 UDP 功能,任意一项都导致 ChatGPT 网站可以获得你的真实 IP。
因此,关闭 Chrome 或 Edge 浏览器的 HTTP/3 功能,只使用 HTTP/1、HTTP/2,就是最简单的解决方法。

关闭步骤

复制chrome://flags/#enable-quic在 Chrome 或 Edge 浏览器地址栏打开,将 Experimental QUIC protocol 设置为Disabled ,然后单击页面最底部的Relaunch重启浏览器生效。

ChatGPT 代理规则

与 ChatGPT 相关的域名如下,如果你的代理功能可以匹配域名后缀,就直接将如下后缀加入代理名单。如果只支持泛域名匹配,就前域名前面加上.后放入代理名单,比如 .openai.com。具体还是看你所用代理工具的匹配规则。

openai.com
challenges.cloudflare.com
ai.com
stripe.com

经过以上两步,我们就实现了非全局模式下,顺利使用免费的 ChatGPT 网页版了。

Armbian安装qbittorrent下载服务

安装qbittorrent

apt install qbittorrent-nox

添加到系统服务
vim /etc/systemd/system/qbittorrent-nox.service

[Unit]
Description=qBittorrent-nox
After=network.target

[Service]
User=root
Type=forking
RemainAfterExit=yes
ExecStart=/usr/bin/qbittorrent-nox -d

[Install]
WantedBy=multi-user.target

开机自启systemctl enable qbittorrent-nox.service
启动服务systemctl start qbittorrent-nox.service

默认web访问端口8080,用户名admin,密码adminadmin

Armbian自动挂载硬盘

查看系统所检测到的磁盘,这里的 sda1检测到的硬盘但是没有被挂载(注意:这里sda1 是’1’ 而不是’L’,有些可能是sdb1

lsblk         //查看信息

在根目录新建一个目录用于挂载硬盘,命令如下:

cd /.               //进入根目录
mkdir mnts            //新建目录名为‘mnts’可用'ls'查看

挂载新增的磁盘sda1(所有新增硬盘都在/dev/目录下)

mount /dev/sda1 /mnts/        //挂载到mnts
cd /mnts/                //进入挂载的硬盘 'ls'查看内容

开机自动挂载:

这条命令可以显示硬盘信息,并记下UUID,为下一步做准备,这里以sda1为例

blkid /dev/sda1

修改 /etc/fstab 即可。例如我就是在 fstab 最后添加这行:

UUID=722059EC2059B835   /mnts      ntfs    defaults        0 0
vi /etc/fstab         //修改fstab

最后保存并应用, 则成功自定挂载,开机也会自动挂载(注意:这里只对只一个硬盘有效)

mount -a             //应用并启动

斐讯N1盒子安装 Home Assistant Supervised(官方支持版本)

感谢以下链接教程

本文说明

本文主要是基于以上链接进行整理实操记录一下过程,希望有网友会用到吧
本文所使用的设备为PDD购买扩容64G版本的N1盒子
U盘使用大于8G的U盘
网络环境最好是 kexue 环境下
本文所使用的系统版本
https://github.com/ophub/amlogic-s9xxx-armbian/releases
文件名 Armbian_22.08.0_Aml_s905d_bullseye_5.10.134_server_2022.07.30.img.gz

Supervisor:

(中文=管理员)就是以前的HassIO/Hass.io,是用来管理和更新Home Assistant Core,管理操作系统,管理docker(HA和加载项),以及管理前三者之前的API和互动,它自己在docker容器里面,并且管理着其他容器。

Home Assistant Core:

这个以前就叫Home Assistant(core=核心)

Home Assistant OS(HAOS):

以前叫HassOS,是官方为树莓派打造的基于Linux的操作系统,包含了Home Assistant core, Supervisor,也就是完整的全套,可以直接安装于或者虚拟机,这是官方推荐安装方法

Home Assistant Supervised:

这个也是全套,跟HAOS的区别是可以装在普通Linux上因此适合更多硬件,N1用的就是这个。安装原理就是手动把docker,Home Assistant Core、Supervisor和其他所有必要组件安装在普通Linux系统上。为了花更多精力提升HA本上而不是debug各种兼容性问题,去年官方大幅减少支持的环境,目前唯一支持的是Debian 11,否则,轻则安装完后显示“不支持的操作系统”,重则无法安装)

操作步骤

1、将镜像写入大于8G的U盘 我这里用的是 balenaEtcher
2、U盘镜像制作完成后 N1断电 插入U盘【要插入HDIM旁边的USB】,连接显示屏,插上键盘,插网线,插上电源,进入系统。重新设置root密码、创建新用户、新用户密码、设置时区、设置语言等。
完事后执行: armbian-install 将系统安装到EMMC 【如果没有升级内存没有测试 据说很大内存会不够用】,等待提示迁移成功就好了 然后 poweroff 关机
3、拔掉U盘显示器键盘等 然后插电重新开机 这时候路由器会重新分配一个IP 然后用电脑ssh这个IP地址 用户名root 密码就是新修改的root密码
4、进入系统后执行以下代码 更新源 安装必要组件 安装docker

sudo -i
apt update && sudo apt upgrade -y && sudo apt autoremove -y
apt --fix-broken install
apt-get install jq curl avahi-daemon apparmor-utils udisks2 libglib2.0-bin network-manager dbus wget -y
curl -fsSL get.docker.com | sh

以上代码执行完毕后重启机器
可以关机后重新拔插电源 或者执行重启命令
poweroff 关机 reboot 重启

安装OS agent

执行以下代码 安装OS agent。Supervisor通过OS agent对接操作系统,官方已经强制要求
所有版本网址在这里
https://github.com/home-assistant/os-agent/releases
N1的架构是aarch64因此选择代码中这个文件

wget https://github.com/home-assistant/os-agent/releases/download/1.2.2/os-agent_1.2.2_linux_aarch64.deb
dpkg -i os-agent_1.2.2_linux_aarch64.deb

以上代码执行完毕后重启机器
可以关机后重新拔插电源 或者执行重启命令
poweroff 关机 reboot 重启

安装Homeassistant Supervised

依次执行以下命令

sudo -i
wget https://github.com/home-assistant/supervised-installer/releases/latest/download/homeassistant-supervised.deb
dpkg -i homeassistant-supervised.deb

过一会儿会进入一个蓝屏让你选择系统架构,选择qemuarm-64
安装完成之后 等着就行了 他会在后台下载很大的docker镜像 最大的1.5G左右 所以N1一定要科学上网环境
否则就会遇到我的问题 一直打不开端口访问不了

安装HACS

HACS(Home Assistant Community Store)即Home Assistant官方的插件商店,提供各种设备集成、前端装饰等的下载,是Home Assistant必备的插件。

1)安装HACS可以通过 https://github.com/hacs/integration/releases/ 下载离线包,解压后将hacs文件夹通过FTP软件拷贝至/usr/share/Hassio/homeassistant/custom_components(没有此路径的话新建一个)。

2)或者在SSH中输入以下命令一键安装。

wget -O - https://get.hacs.xyz | bash -

然后在后台界面选择“配置”-“系统”,右上角点击“重新启动”。
重启后,在“配置”-“设备与服务”中添加集成。
我没有用到蓝牙,如有用到蓝牙的可以参考其他教程处理 我尝试过但是失败哈哈哈哈 或者是我没搞明白怎么用 打算再刷OpenWrt当软路由用了

1 4 5 6 7 8 11