yaml安装 yamlload

2025-01-03 10:29 - 立有生活网

智慧家庭 - HA(1) - 在树莓派上架设 Home Assistant

kubeadm 属于第二层,用于管理集群。

本文索引:

yaml安装 yamlloadyaml安装 yamlload


yaml安装 yamlload


已将程序包“YamlDotNet.4.2.1”添加到“packages.config”

Home Assistant (以下简称 HA) 是一个开源的智能家居项目,它可以将市面上所有支持的智能硬件设备整合到一起进行统一管理,并提供了默认的 Web UI。HA 社区开发了海量组件以支持市面上主流的设备,在 IoT 中扮演了大脑的角色。在家庭上架设 HA 有多种实现方式,也制作了对应的系统镜像 Hass.io ,并使用「树莓派3B+」作为其宿主机器。

为了验证预期效果,提前准备好以下设备:

通过 Docker Image 安装及更新一种服务免去了为该服务准备依赖环境的繁琐步骤, HA 推出了对应的 Docker Image 且支持树莓派的 CPU 架构,本文主要介绍通过 Docker 安装 HomeAssistant 。如果你不喜欢 Docker ,可以参考 Install Home Assistant 以其他方式安装。

使用 Docker 安装 HA 是非常简单的,提供了支持 Raspberry Pi 3 的 Docker Image 和「 安装指南 」:

参数 /path/to/your/config:/config 映射 container 的 /config 至本地主机的物理路径,此处我选择了 ~/.homeassistant 。如果希望安装指定版本的 Image,参考「 HA 在 Docker Hub 上的 Tag 列表 」选择版本,例如 0.69.1:

安装完成后, HomeAssistant 的 container 已经开始运行:

查看刚刚指定的配置文件目录,出现了以下文件及目录:

config 目录(此处为 ~/homeassistant/ )下的 configuration.yaml 是配置文件的入口点,其他由 yaml 为扩展名的配置文件均是为了实现管理而单独分离出来的文件,可在 configuration.yaml 文档中找到如下入口载入这些配置文件:

8123 是 Web UI 的默认端口,尝试在浏览器中输入 访问,得到如下结果:

HA 会自动查找接入同一网络中的智能设备,是因为 configuration.yaml 中默认配置了 Discovery 组件:

一切正常之后,每次重启树莓派必须手动执行 docker container start [Container ID]/NAME 的方式来启动 HA 服务,我们需要将其做成服务或加入开机启动脚本,编辑 /etc/rc.local 文件:

HA 目前仍然在快速迭代中,对应的 Docker Image 也会同步放出。要更新以 Docker Container 运行的 HA 实例,只要重新拉取版本的 Image 即可:

快速搭建kubernetes高可用集群(3+3worker+负载均衡)

通过如下命令,可以查看和拉取 init 所需的镜像。

kubeadm 是Kubernetes提供的用于快速安装Kubernetes集群的工具,通过kubeadm的方式安装集群比二进制的方式安装高效不少。建议初次使用k8s使用此方式安装,二进制的方式会很快令人失去信心。

在开始之前,部署Kubernetes集群机器需要满足以下几个条件:

dnasq安装可参考我的另一篇 文章

ha1配置

ha2配置

在两台ha都执行

启动后查看ha的网卡信息(有一台可看到vip)

两台ha的配置均相同,配置中声明了后端的两个,指定了haproxy运行的端口为16443等,因此16443端口为集群的入口

两台ha都启动

检查端口

Kubernetes默认CRI(容器运行时)为Docker,因此先安装Docker。kubelet控制容器,kubeadm控制加入平面。

镜像加速

由于版本更新频繁,这里指定版本号部署:

在1作

按照提示配置环境变量,使用kubectl工具:

按照提示保存以下内容,一会要使用:

查看集群状态

安装flannel网络

检查

从1密钥及相关文件到2

3作同上

执行在1上init后输出的join命令,需要带上参数 --control-plane 表示把控制加入集群

检查状态3. 增加gateway4,填写你的gateway。

在node1、2、3上执行

向集群添加新,执行在kubeadm init输出的kubeadm join命令:

检查状态

在Kubernetes集群中创建一个pod,验证是否正常运行:

k8s安装问题摘要

访问地址:

worker加入k8s集群的时候出现上述错误

经排查,是的kubeadm版本和worker的kubeadm版本不一致。安装替换即可。

一直被集群pod不同node之间不能互ping困扰(nacos服务发现,sentinel接口发现默认使用pod ip。如果不能互ping,会导致nacos,sentinel不可用)

经排查是DaemonSet :kube- / calico-node 没有正常启动。报以下错误

Readiness probe failed: caliconode is not ready: BIRD is not ready: BGP not established with 10.117.

初步判断,应该是网络的问题(个人对网络这块不是很了解,需要加强)。

通过下面这篇文章补了以下calico的知识:

BIRD是一个标准的路由程序,它会从内核里面获取哪一些IP的路由发生了变化,然后通过标准BGP的路由协议扩散到整个其他的宿主机上,让外界都知道这个IP在这里,你们路由的时候得到这里来

通过网上的一篇文章:

了解到是calico没用发现实际真正的网卡。调整cali 网络插件的网卡发现机制,修改IP_AUTODETECTION_METHOD对应的value值。提供的yaml文件中,ip识别策略(IP然后 kubectl apply -f calico.yaml部署即可。调用 kubectl get pods -n kube-发现calico-node都启动正常。DETECTMETHOD)没有配置,即默认为first-found,这会导致一个网络异常的ip作为nodeIP被注册,从而影响node-to-node mesh。我们可以修改成can-reach或者intece的策略,尝试连接某一个Ready的node的IP,以此选择出正确的IP。

找到calico.yaml文件,添加两行

完整的像这样

我在k8s集群中安装了一个busybox deployment。因子为3。

参考文章:

Kuboard 不能显示计算资源利用率情况是因为Metrics server服务没有安装。安装即可。Metrics server安装成功,apiserver不能访问。报以下错误

原因:Metrics server安装在了peer154,的apiserver不能访问。原因还是calico没有安装成功。修复之后,Metrics server和apiserver之间的通讯恢复正常

如何修复 YAML 语法错误 ︰ 没有找到预期

使用该配置后,可以直接网页中的地址,粘贴到Typora中后,会直接该到文章资源文件夹,同时自动更改路径。

独占的要单独安装安装后需要重新启动计算机;非独占的可以批量安装安装完成后一次性重新启动计算机 你好,建议你重启电脑到安全模式下,在安全模式下使用360安全卫士再次修复即可修复成功如果还修复不成功,那可能你不存在off或者你的不是完整版的所以导致修复不成功

如果未提供外部etcd,则会为etcd生成其他静态Pod清单。 Static Pod清单写入 /etc/kubernetes/manifests ; kubelet监视此目录以便Pods在启动时创建。

k8s中StatefulSet中POD无法在结点失去联系时转移

重启树莓派, HA 开机启动成功,至此,一个基本款的家庭 HA 搭建就完成了。

DepAndSta.yaml

PM>

将上面的文件保存到结点上,名字为 DepAndSta.yaml

简单解释一下上面这个文件部署了什么?

上面这个文件,创建了一个 Deployment ,其对应创建了三个nginx的POD

此外,创建了一个StatefulSet,其也对应创建了三个POD

安装下面命令一步一步执行,并观察结果

上面 Node 一栏显示这个Pod位于哪个结点中,我这边配置的只有两个结点node01和node02.

接下来我们去node02结点上关机或者将kubelet进程关闭,我这次采用的是将kubelet进程关闭。

kubelet进程是用来和主进行通信的进程,关闭之后,node02的结点就失联了。

稍等一大会 5min之上

我们可以看到途中deployment中在node02结点的都被重新新建了,但是statefulset创建的pod都是terminating的状态,也就是没有被重新启动。

注意点: 如此时此刻我将node02结点执行 ctl start kubelet 或者重新开机后, 此时此刻deployment下面的pod处于 Terminating 状态的被删除,statefulset下面的pod在原来位置重新启动。

ubuntu18.04怎么配置ip地址

安装文档 CRI installation instructions

众所周知,ubuntu desktop配置静态IP地址是修改配置文件/etc/network/inteces。然而,修改这个文件对ubuntu server没有效果。

ubuntu server 18.04静态IP地址配置方法如下:

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

yaml是一种通用配置文件格式,规定不能出现tab符号,修改时要注意这点。enp0s3是绑定静态IP的网卡,步骤如下:

1. dhcp4由true改为false

2. addresses填写你的静态IP地址(带掩码)

4. nameservers等参数可参考下图,8.8.8.8,202.96.209.133是DNS,填这两个就可以了。

5. 执行命令netplan apply立即生效。

一、查看各项信息,IP、、DNS

1. 查看IP:

ifconfig

2. 查看

netstat -rn 或 route -n

3. 查看DNS

cat /etc/resolv.conf

二、配置IP、、DNS

1. 使用ifupdown配置网络

1)如果要使用之前的方式配置网络,需要重新安装ifupdown:

sudo apt install ifupdown

2)修改配置文件/etc/network/inteces:

配置文件修改如下:

iface ens160 inet static

2.address 210.72.92.25

3.gateway 210.72.92.254

4mask 255.255.255.0

5.dns-nameservers 8.8.8.8

3)重启网络服务使配置生效

sudo servs network restrart

4)修改DNS

打开/etc/resolv.conf

重启服务生效:

2. 使用netplan配置网络()

想细的内容可以参阅 kubeadm api ,kube-proxy配置部分的内容细节在这里 KubeProxyConfiguration1) 配置IP及

Ubuntu 18.04使用netplan配置网络,其配置文件是yaml格式的。安装好Ubuntu 18.04之后,在/etc/netplan/目录下默认的配置文件名是50-cloud-init.yaml,我们通过VIM修改它:

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

配置文件修改如下:

network:

2.renderer: NetworkMar

3.ernets:

6.gateway4: 210.72.92.254 #

7.dhcp4: false

8.optional: true

9.nameservers:

11.version: 2

这里把DNS和ipv4地址配置在一个文件里了,不用再修改/etc/resolv.conf 文件。

重启网络服务使配置生效

1.sudo netplan apply

kubeadm 专题 一 init 究竟干了些什么

从地址获取到flannel的yaml,在1上执行

kubeadm 已经GA , 作为的集群安装工具,准备写一个专题,大致分为5 部分,内容会比较多。

命令用法

kubeadm init通过执行以下步骤来Kubernetes控制平面:

kubelet 使用4个文件的方式如下

control plane 的pod 启动后,init 开始继续执行后面的流程。

通过 API server 安装 DNS (CoreDNS) 和 kube-proxy 组件。在 Kubernetes 版本 1.11 和更高版本中,CoreDNS 是默认 DNS 。要安装 kube-dns 而不是 CoreDNS,必须在 kubeadm 配置文件的ClusterConfiguration 字段中配置 DNS 附加组件(通过 kubeadm config 文件)。请注意,虽然已部署 DNS ,但安装 CNI 前该POD 不会被调度到(可以理解为不回被实际部署,或不会生效)。

查看 kubeadm config print的帮助

打印默认的init 配置文件

打开 initconfig, 内容如下

上面的内容只包含额了最简话的InitConfiguration type 的内容,kubeadm 完整的内容包含5大部分,如下,每个type 之间,需要用yaml的 --- 文档隔离进行分离。

init-full-config.yaml 文件结构

比如我要修改kube-proxy的模式为IPVS 那么修改后的init-full-config.yaml 内容为如下

关于如何通过kubeadm 配置启用 IPVS 请 参阅

关于如何定制化 control plane 请 参阅

对于google 提供的镜像,在众所周知的原因下,无法访问。所以需要使用国内镜像或者自建的镜像仓库。 kubeadm 提供了参数,同事也支持修改 kubeadm config 文件来指定定制化的仓库

kubelet 默认使用 docker 作为runtime 并使用内建的 dockershim 进行交互。

其他的runtime包括:

你也可以通过kubeadm init/reset 的 --cri-socket 参数来是先同样的事情。

与其像 kubeadm 基础教程 中那样,将从 kubeadm init 获得的令牌到每个,不如并行化令牌分发,以便更轻松地实现自动化。要实现此自动化,您必须知道控制平面在启动后将具有的 IP 地址。

步根据安装文档安装好runtime后,需要对kubeadm 和kubelet 做如下配置骤

集群启动之后,可以通过 /etc/kubernetes/admin.conf 中的凭证来和集群通信。

参考资料

Hexo博客中如何插入

所谓的网络路径就是直接引用网上的,直接地址,放在圆括号中就完事了。

Hexo是一个静态的博客网站生成参数说明器,生成一个博客只需要分分钟的时间就能搞定。

Hexo的博文是支持Markdown格式的,发表一篇文章只需要简简单单的几个命令。

hexo new '文章' 就会生成一个名为'文章'的md文件。

在图中位置添加描述,分类以及标签,有利于搜索分类。

众所周知,在md文件中插入的语法为 ![]() 。

其中 方括号 是描述, 圆括号 是路径。

一般来说有三种路径,分别是 相对路径,路径和网络路径 。

这种方式十分的方便,但是也存在一定的问题:

这种方式算是有利有弊。

路径是在计算机中的位置,相对路径是相对于当前文件的路径。

由于我们的博客是要部署在网站上,部署后会生成新的文件目录,所以我们选择使用相对路径的方式。

在hexo中使用 文章资源文件夹 需要在 config.yaml 文件中更改一下配置:

当该配置被应用后,使用 hexo new 命令创建新文章时,会生成相同名字的文件夹,也就是文章资源文件夹。

虽然可以正常引用了,但是这种引用的方式只有一句话能形容,。

插件 hexo-renderer-marked 解决了这个问题。可以只用 npm install hexo-renderer-marked 命令直接安装,之后在 config.yaml 中更改配置如下:

之后就可以在使用 [上传失败...(image-5f3c69-1603081095188)] 的方式愉快的插入了。

我们做了这么多都是为了方便,那么为什么不再方便一点呢。

上述是从文章资源文件夹中引用,前提是 先将放入到文章资源文件夹 ,如果数量众多的话,一张一张的放很影响效率。但是不用怕,我们有很方便的解决方法。

Typora 是我非常喜欢的Markdown文本编辑器,在之前的文章中也介绍过一点。

Typora对于插入的支持做得非常好,在 文件->偏好设置 或者直接 进入设置。

如网络路径的 粘贴到Typora中叫 文章名 的文章后,会自动变为 [上传失败...(image-bd41f4-1603081095188)] 。

但我们知道部署后,文件路径是不同的,所以当我们插入完所有的后,我们还需要删除每个路径中的 文件名/ 。不慌,也很简单。

在Typora编辑器中,使用 快捷键,将所有的 文章名/ 替换为空即可删除。

然后再将博客上传,就会随着文章一起打包。在网页中就可以看到正常显示的,大功告成。

asp新手 书上说在控制台输入 Install-Package Modernizr后站点

Automated High Availability in kubeadm v1.15: Batteries Included But Swappable

你需要先新建一个项目,在项目中运行程序

```

PM> Install-Package YamlDotNet

正在尝试收集与目标为“.NETFramework,Version=v4.5.2”的项目“YamlRead”有关的程序包“YamlDotNet.4.2.1”的相关依赖项信息

正在尝试解析程序包“YamlDotNet.4.2.1”的依赖项,DependencyBehior 为“Lowest”

正在解析作以安装程序包“YamlDotNet.4.2.1”

已解析作以安装程序包“YamlDotNet.4.2.1”

正在将程序包“YamlDotNet.4.2.1”添加到文件夹“F:visual studio 2013YamlReadpackages”

已将程序包“YamlDotNet.4.2.1”添加到文件夹“F:visual studio 2013YamlReadpackages”

已将“YamlDotNet 4.2.1”成功安装到 YamlRead

```

高射炮打蚊子歇后语 高射炮打蚊子歇后语歇后

的常用歇后语有哪些 4、 黄莲树下弹琵琶 —— 苦中作乐 1、八仙过海--------各显神通 高射炮打蚊子歇后语 高射炮打蚊子歇后语歇后语 高射炮打蚊子歇后语 高射炮打蚊子歇后语歇后语 16、百米赛跑···

英格兰对巴拿马_英格兰和巴拿马比分分析

哥伦比亚3-0波兰具体赛况是怎样的? 09 2006/6/13 03:00 汉诺威下萨克森球场 意大利:加纳 - E组 时间6月24日20:00,2018年世界杯小组赛第二轮G组的一场比赛,英格兰在下诺夫哥罗德体育场迎来世界杯新···

二手燃煤锅炉回收 求购二手家用燃煤锅炉

怎样将余热资源回收利用? Z(振) 可以装上一台余热回收节能器,余热回收利用的原理:余热回收是指将工业过程产生的余热再次回收重新利用。主要技术包括热交换技术、热功转换技术、余热制冷···