物联网学习日记7

1.RAML插件
解析:RAML Plugin For IntelliJ。

2.YAML支持的数据结构
解析:
[1]对象:键值对的集合,又称为映射[mapping]/哈希[hashes]/字典[dictionary]
[2]数组:一组按次序排列的值,又称为序列[sequence]/列表[list]
[3]纯量[scalars]:单个的、不可再分的值

3.JavaScript纯量
解析:
[1]字符串
[2]布尔值
[3]整数
[4]浮点数
[5]Null
[6]时间
[7]日期

4.YAML±
解析:+表示保留文字块末尾的换行,-表示删除字符串末尾的换行。

5.$(pwd)
解析:表示当前所在目录。

6.shell echo命令
解析:字符串的输出,格式:echo string。

7.shell只读变量
解析:使用readonly命令可以将变量定义为只读变量,只读变量的值不能被改变。

#!/bin/bash
myUrl="http://www.google.com"
readonly myUrl
myUrl="http://www.runoob.com"

8.shell删除变量
解析:
[1]使用unset命令可以删除变量
[2]语法:unset variable_name
[3]unset 命令不能删除只读变量

9.shell函数参数
解析:
[1]$#:传递到脚本或函数的参数个数
[2]$*:以一个单字符串显示所有向脚本传递的参数
[3]$$:脚本运行的当前进程ID号
[4]$!:后台运行的最后一个进程的ID号
[5]$@:与$*相同,但是使用时加引号,并在引号中返回每个参数
[6]$-:显示Shell使用的当前选项,与set命令功能相同
[7]$?:显示最后命令的退出状态。0表示没有错误,其它任何值表明有错误

10.trap命令
解析:
[1]trap命令用于指定在接收到信号后将要采取的行动。
[2]trap命令的一种常见用途是在脚本程序被中断时完成清理工作。
[3]可以使用trap -l来查看具体信号列表。

11.export命令
解析:export [变量名称]=[变量设置值]。

12.pkill命令和killall命令
解析:pkill命令和killall命令的用法相同,都是通过进程名杀死一类进程。

13.开机自动启动ssh服务
解析:sudo systemctl enable ssh

14.Kubernetes Dashboard
解析:Kubernetes Dashboard是Kubernetes的Web UI管理工具,可以支持多种K8s运行环境。

15.Kubernetes
解析:Kubernetes是一个完备的分布式系统支撑平台。Kubernetes具有完备的集群管理能力,包括多层次的安全防护和准入机制、多租户应用支撑能力、透明的服务注册和服务发现机制、内建智能负载均衡器、强大的故障发现和自我修复能力、服务滚动升级和在线扩容能力、可扩展的资源自动调度机制,以及多粒度的资源配额管理能力。同时,Kubernetes提供了完善的管理工具,这些工具涵盖了包括开发、部署测试、运维监控在内的各个环节。因此,Kubernetes是一个全新的基于容器技术的分布式架构解决方案,并且是一个一站式的完备的分布式系统开发和支撑平台。

16.Pause容器
解析:业务容器共享Pause容器的网络栈和Volume挂载卷,它们之间的通信和数据交换更为高效。

17.Kubernetes集群管理
解析:
[1]Kubernetes将集群中的机器划分为一个Master节点和一群工作节点[Node]。
[2]在Master节点上运行着集群管理相关的一组进程kute-apiserver、kube-controller-manager和kube-scheduler,这些进程实现了整个集群的资源管理、Pod调度、弹性伸缩、安全控制、系统监控和纠错等管理功能,并且都是全自动化完成的。
[3]Node作为集群中的工作节点,运行真正的应用程序,在Node上Kubernetes管理的最小运行单元是Pod。Node上运行着Kubernetes的kubelet、kube-proxy服务进程,这些服务进程负责Pod的创建、启动、监控、重启、销毁,以及实现软件模式的负载均衡器。

18.etcd服务
解析:在Master节点上需要启动一个etcd服务,因为Kubernetes中的所有资源对象的数据全部都是保存在etcd中的。

19.Master节点关键进程
解析:
[1]Kubernetes API Server [kube-apiserver]:提供了HTTP Rest接口的关键服务进程,是Kubernetes中所有资源的增、删、改、查等操作的唯一入口,也是集群控制的入口进程。
[2]Kubernetes Controller Manager [kube-controller-manager]:Kubernetes中所有资源对象的自动化控制中心,可以理解为资源对象的大总管。
[3]Kubernetes Scheduler [kube-scheduler]:负责资源调度[Pod调度]的进程,相当于公交公司的调度室。

20.Node节点关键进程
解析:
[1]kubelet:负责Pod对应的容器的创建、启停等任务,同时与Master节点密切协作,实现集群管理的基本功能。
[2]kube-proxy:实现Kubernetes Service的通信与负载均衡机制的重要组件。
[3]Docker Engine [Docker]:Docker引擎,负责本机的容器创建与管理工作。

21.kubectl get nodes
解析:查看集群中有多少个Node。

22.kubectl describe node <node_name>
解析:查看某个Node的详细信息。

23.K8S中的Event概念
解析:Event是一个事件的记录,记录了事件的最早产生时间、最后重现时间、重复次数、发起者、类型,以及导致此事件的原因等众多信息。Event通常会关联到某个具体的资源对象上,是排查故障的重要参考信息。Node的描述信息包括了Event,而Pod同样有Event记录,当发现某个Pod迟迟无法创建时,可以用kubectl describe pod xxx来查看它的描述信息,用来定位问题的原因。

24.K8S配额限定
解析:在K8S中,一个计算资源进行配额限定需要设定2个参数:
[1]Requests:该资源的最小申请量,系统必须满足要求。
[2]Limits:该资源最大允许使用的量,不能被突破,当容器视图使用超过这个量的资源时,可能会被K8S Kill并重启。

25.Label Selector在K8S中的重要使用场景
解析:
[1]kube-controller进程通过资源对象RC上定义的Label Selector来筛选要控制的Pod副本的数量,从而实现Pod副本的数量始终符合预期设定的全自动控制流程。
[2]kube-proxy进程通过Service的Label Selector来选择对应的Pod,自动建立起每个Service到对应的Pod的请求转发路由表,从而实现Service的智能负载均衡机制。
[3]通过对某些Node定义特定的Label,并且在Pod定义文件中使用NodeSelector这种标签调度策略,kube-scheduler进程可以实现Pod定向调度的特性。

参考文献:
[1]K3S:https://k3s.io/
[2]K3OS:https://k3os.io/
[3]Kubernetes Dashboard:https://github.com/kubernetes/dashboard

发布了400 篇原创文章 · 获赞 423 · 访问量 38万+

猜你喜欢

转载自blog.csdn.net/shengshengwang/article/details/104585495