13.Kubernetes
文章平均质量分 87
urbernetes
夜海赤竹
这个作者很懒,什么都没留下…
展开
-
19.Helm
Helm本质就是让K8s的应用管理(Deployment、Service等)可配置,可以通过类似于传递环境变量的方式能动态生成。通过动态生成K8s资源清单文件(deployment.yaml、service.yaml)。然后调用 Kubectl 自动执行 K8s 资源部署。简化部署 : Helm允许使用单个命令轻松部署和管理应用程序,从而简化了整个部署过程高度可配置: Helm Charts提供了高度可配置的选项,可以轻松自定义和修改应用程序的部署配置。原创 2023-08-22 08:14:15 · 190 阅读 · 0 评论 -
18.安全机制
K8S 的安全机制客户端应用若想发送请求到 apiserver 操作管理K8S资源对象,需要先通过三关安全验证:认证(Authentication)、鉴权(Authorization)、准入控制(Admission Control)认证 确认请求方是否有连接 apiserver 的权限token认证(通过token字符串来认证) base认证(根据 账户:密码 的格式来认证)https认证(通过6443端口,使用证书和私钥来认证,支持双向认证)认证过程。原创 2023-08-20 18:33:57 · 286 阅读 · 0 评论 -
17.HPA和rancher
Pod 的自动伸缩HPA:Pod水平自动伸缩 为控制器管理的Pod资源副本数量实现自动扩缩容VPA:Pod垂直自动伸缩 据容器资源使用率自动设置CPU和内存的requestsHPA的实现原理:利用 metrics-server 定期收集 Pod 资源的平均 CPU 负载情况,根据HPA配置的 CPU/内存 requests 百分比阈值来动态调整 Pod 的副本数量HPA 扩容时,Pod 副本数量上升会比较快;缩容时,Pod 副本数量下降会比较慢。原创 2023-08-20 18:33:33 · 588 阅读 · 0 评论 -
16.ingress
K8S集群外的客户端应用访问K8S集群内部服务的方案Service:NodePort LoadBalancer externalIPs 只支持四层反向代理,端口数量有限,如果业务服务应用很多时端口的管理成本会比较高Ingress:支持七层反向代理,可自定义规则根据用户请求的 域名 或 URL路径 转发给指定的 Serviceingress资源对象:设置转发规则,告诉 ingress控制器应该根据什么域名或URL路径转发给相应的 Service 资源。原创 2023-08-20 18:33:17 · 91 阅读 · 0 评论 -
15.配置资源管理
ConfigMap 资源 简称 cm 用于保存 配置文件 环境变量 命令行参数 之类的不需要加密的信息创建 cm资源kubectl create cm <资源名称> --from-file=文件|目录 --from-literal=<键名>=<键值>查看 cm资源kubectl get cm <资源名称> -o yaml 或 kubectl describe cm <资源名称>使用 cm资源在 Pod 资源配置中的 spec.volumes 字段设置 configMap 类型的存储卷。原创 2023-08-20 18:32:50 · 101 阅读 · 0 评论 -
14.pod控制器
Pod控制器及其功用Pod控制器,又称之为工作负载(workload),是用于实现管理pod的中间层,确保pod资源符合预期的状态,pod的资源出现故障时,会尝试进行重启,当根据重启策略无效,则会重新新建pod的资源。pod控制器有多种类型:ReplicaSet: 代用户创建指定数量的pod副本,确保pod副本数量符合预期状态,并且支持滚动式自动扩容和缩容功能。ReplicaSet主要三个组件组成:用户期望的pod副本数量标签选择器,判断哪个pod归自己管理。原创 2023-08-20 18:32:35 · 56 阅读 · 0 评论 -
13.PV和PVC
查看pv的定义方式FIELDS:metadata:#由于 PV 是集群级别的资源,即 PV 可以跨 namespace 使用,所以 PV 的 metadata 中不用配置 namespacename:speckubectl explain pv.spec #查看pv定义的规格spec:nfs:(定义存储类型)path:(定义挂载卷路径)server:(定义服务器名称)accessModes:(定义访问模型,有以下三种访问模型,以列表的方式存在,也就是说可以定义多个访问模式)原创 2023-08-20 18:32:20 · 125 阅读 · 0 评论 -
12.pod生命周期和存储卷
通过 scheduler 根据调度算法选择一台在最适合的 Node节点运行 Pod拉取镜像挂载 存储卷 等创建并运行容器根据容器的探针探测结果设置 Pod 状态Pod 生命周期的 5 种状态pending :Pod已经创建,但是处于包括Pod还未完成调度到Node节点的过程或者处于镜像拉取过程中、存储卷挂载失败等情况running : Pod中至少有一个容器正在运行succeeded :Pod中的所有容器都已经成功退出,且不再重启。原创 2023-08-12 16:40:23 · 107 阅读 · 0 评论 -
11.集群调度
k8s通过List-Watch机制事先每个组件的协作controller-manager、scheduler、kubelet通过List-watch机制监听apiserver发出的事件,apiserver通过List-Watch机制监听etcd发出的事件预选策略:通过调度算法过滤不满足条件的node节点,如果没有满足条件的node节点,pod会处于Pending状态,直到有符合条件的node节点出现。原创 2023-08-12 16:40:03 · 185 阅读 · 0 评论 -
10.pod资源限制和健康检查
Pod 容器的 3 种探针(健康检查)存活探针(livenessProbe):探测是否正常运行。如果探测失败则kubelet杀掉容器(Pod容器会根据重启策略决定是否重启)就绪探针(readinessProbe):探测Pod是否进入就绪状态(ready状态栏1/1),并做好接收service请求的准备。如果探测失败则Pod会变成未就绪状态(ready状态栏0/1),service资源会删除所关联的端点(endpoints),并不再转发请求给就绪探测失败的Pod。原创 2023-08-12 16:39:44 · 144 阅读 · 0 评论 -
9.pod资源管理
pod的定义:POd是k8s最小的创建和运行管理单元一个pod能包含几个容器一个pause容器(基础容器/父容器/根容器)一个或多个应用容器(业务容器)通常一个pod最好只包含一个应用容器,一个应用容器最好只运行在一个业务进程同一个pod里的容器,都是运行在同一个node节点上的,并且共享 NET、MNT、UTS、IPC、PID命名空间pause容器作用作为共享命名空间的基础给pod里的其他容器提供网络、存储资源的共享。原创 2023-08-12 16:39:22 · 140 阅读 · 0 评论 -
8. yaml文件管理
Kubernetes 支持 YAML 和 JSON 格式管理资源对象。原创 2023-08-12 16:39:06 · 138 阅读 · 0 评论 -
7.资源管理方法
kubectl create <资源类型> <资源名称> -n 命名空间 [选项]--image=镜像 --replicas=副本数 --port=容器端口kubectl get <资源类型|all> [资源名称] -n 命名空间 -o wide|yaml|json -wkubectl describe <资源类型> <资源名称> -n 命名空间kubectl delete <资源类型> <资源名称>|--all -n 命名空间 [--force --grace-period=0]原创 2023-08-12 16:38:52 · 132 阅读 · 0 评论 -
6.kubeadm高可用
【代码】6.kubeadm高可用。原创 2023-08-06 19:04:32 · 166 阅读 · 0 评论 -
5.kubeadm安装
kubeadm init:在使用kubeadm方式安装K8S集群时,可根据初始化配置文件或者配置参数快速的初始化生成一个K8S的master管理平台kubeadm join:根据kubeadm init初始化的提示信息快速的将一个节点作为node节点或者其它的master节点加入到K8S集群当中所有节点进行初始化,安装docker引擎和kubeadm kubelet kubectl生成集群初始化配置文件并进行修改。原创 2023-08-06 17:18:26 · 232 阅读 · 0 评论 -
4.DNS和负载均衡
coreDNS是kubernetes的默认DNS实现。可以为集群中的service资源创建一个资源名称与clusterIP的对应关系解析。kubernetes可以选择使用DNS来避免将服务器的集群IP地址硬编码到您的引用程序中。原创 2023-08-06 14:56:32 · 1231 阅读 · 0 评论 -
3.CNI网络
叠加网络,在二层或者三层基础网络上叠加的一种虚拟网络技术模式,该网络中的主机通过虚拟链路隧道连接起来(类似于VPN)。Calico BGP模式工作原理(本质就是通过路由表来维护每个 Pod 的通信)Calico IPIP模式工作原理。kubernetes三种网络。原创 2023-08-06 14:56:13 · 145 阅读 · 0 评论 -
2.部署kubernetes的组件
etcd集群使用cfssl签发证书和私钥解压etcd软件包,获取二进制文件 etcd etcdctl准备etcd配置文件启动etcd服务进程,加入到etcd集群master使用cfssl签发证书和私钥准备bootstrap-token认证文件解压服务端软件包,获取二进制文件 kube-apiserver kube-controller-manager kubectl kube-scheduler。原创 2023-08-06 14:55:55 · 362 阅读 · 0 评论 -
1.Kubernetes
用于自动部署、扩展和管理“容器化(containerized)应用程序”的开源系统可以理解成 K8S 是负责自动化运维管理多个容器化程序(比如 Docker)的集群,是一个生态极其丰富的容器编排框架工具。官网:GitHub:K8S有master和worker node两大节点master节点上有 apiserver、controller-manager、scheduler以及使用etcd做K8S集群的数据库。原创 2023-08-03 13:50:36 · 289 阅读 · 0 评论