
k8s
文章平均质量分 69
k8s系统化学习。
菜鸟小窝
这个作者很懒,什么都没留下…
展开
-
k8s集群reset恢复重置
因k8s集群故障,无法恢复,所以进行重置k8s集群。K8S集群重新初始化。原创 2022-12-01 17:23:14 · 9951 阅读 · 0 评论 -
k8s常用命令
一、缩写# kubectl get option 缩写-namespace -n--all-namespaces -A--filename=[] -f--kustomize='' -k--label-columns -L--output='' -o--recursive -R--selector -l--watch -w # kubectl create option 缩写和get基本一致原创 2022-05-14 13:04:56 · 3607 阅读 · 0 评论 -
12 Kubernetes 高可用集群构建
一、系统初始化安装配置好docker以后二、master01节点上操作1、在主节点启动 Haproxy 与 Keepalived 容器在 master01、master02、master03 上创建目录,上传相关文件。mkdir -p /usr/local/kubernetes/install/imagescd /usr/local/kubernetes/install/images# 导入镜像docker load -i haproxy.tardocker load -i keep原创 2021-12-20 17:40:56 · 171 阅读 · 0 评论 -
11 Kubernetes 证书有效期修改
1、查看证书有效期cd /etc/kubernetes/pki[root@k8s-master01 pki]# openssl x509 -in apiserver.crt -text -nooutCertificate: Data: Version: 3 (0x2) Serial Number: 6865440464600075825 (0x5f46f1ba57148e31) Signature Algorithm: sha256WithRSAEnc原创 2021-12-20 17:38:45 · 291 阅读 · 0 评论 -
10-5 Kubernetes 部署 EFK 平台
一、准备工作1、添加 Google incubator 仓库在国内这里的仓库添加可能会失败,可以使用浏览器打开微软的仓库,自己下载相应文件。微软仓库:https://mirror.azure.cn/kubernetes/charts-incubator# 添加仓库helm repo add incubator http://storage.googleapis.com/kubernetes-charts-incubator2、在node节点导入镜像[root@k8s-node01 efk原创 2021-12-20 17:36:02 · 1367 阅读 · 0 评论 -
10-4 Kubernetes 部署 prometheus
一、下载地址Prometheus github 地址:https://github.com/coreos/kube-prometheus二、组件说明1.MetricServer:是kubernetes集群资源使用情况的聚合器,收集数据给kubernetes集群内使用,如kubectl,hpa,scheduler等。2.PrometheusOperator:是一个系统监测和警报工具箱,用来存储监控数据。3.NodeExporter:用于各node的关键度量指标状态数据。4.KubeStateMet原创 2021-12-20 10:33:16 · 987 阅读 · 5 评论 -
10-3 Kubernetes 使用 Helm 部署 metrics-server
一、说明从 Heapster 的 github <https://github.com/kubernetes/heapster >中可以看到已经,heapster 已经DEPRECATED。这里是 heapster的deprecation timeline。 可以看出 heapster 从 Kubernetes 1.12 开始将从 Kubernetes 各种安装脚本中移除。Kubernetes 推荐使用 metrics-server。我们这里也使用helm来部署metrics-server。原创 2021-12-20 10:01:54 · 428 阅读 · 0 评论 -
10-2 Kubernetes 使用 Helm 部署 dashboard
使用Helm部署 dashboard1、下载 stable/kubernetes-dashboard# 进入目录[root@k8s-master01 hello-world]# cd /root/install-k8s/plugin/dashboard/# 查看帮助,找到下载的命令为 fetch[root@k8s-master01 dashboard]# helm --help# 下载 stable/kubernetes-dashboard,提示没找到缓存,提示让我们更新[root@k8s原创 2021-12-09 10:42:29 · 1011 阅读 · 3 评论 -
10-1 Kubernetes 部署Helm
一、什么是 Helm在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm 通过打包的方式,支持发布的版本管理和控制,很大程度上简化了 Kubernetes 应用的部署和管理。Helm 本质就是让 K8s 的应用管理(Deployment,Service 等 ) 可配置,能动态生成。通过动态生成 K8s 资源清单文件(deployment.yaml,serv原创 2021-12-08 12:14:57 · 323 阅读 · 0 评论 -
09 Kubernetes 集群安全
一、机制说明Kubernetes 作为一个分布式集群的管理工具,保证集群的安全性是其一个重要的任务。API Server 是集群内部各个组件通信的中介,也是外部控制的入口。所以 Kubernetes 的安全机制基本就是围绕保护 API Server 来设计的。Kubernetes 使用了认证(Authentication)、鉴权(Authorization)、准入控制(Admission Control)三步来保证API Server的安全。二、认证(Authentication)HTTP To原创 2021-12-07 14:26:23 · 368 阅读 · 0 评论 -
08-4 Kubernetes 调度器 - 固定节点
一、指定调度节点1、Pod.spec.nodeNamePod.spec.nodeName 将 Pod 直接调度到指定的 Node 节点上,会跳过 Scheduler 的调度策略,该匹配规则是强制匹配在资源清单里设置好 nodeName: k8s-node01 后, 创建的 pod 全部在 k8s-node01 节点上。pod3.yamlapiVersion: extensions/v1beta1kind: Deploymentmetadata: name: mywebspec: re原创 2021-12-06 09:40:38 · 485 阅读 · 0 评论 -
08-3 Kubernetes 调度器 - 污点
一、Taint 和 Toleration 说明节点亲和性,是 pod 的一种属性(偏好或硬性要求),它使 pod 被吸引到一类特定的节点。Taint 则相反,它使节点能够排斥一类特定的 pod 。Taint 和 toleration 相互配合,可以用来避免 pod 被分配到不合适的节点上。每个节点上都可以应用一个或多个taint ,这表示对于那些不能容忍这些 taint 的 pod,是不会被该节点接受的。如果将 toleration 应用于 pod上,则表示这些 pod 可以(但不要求)被调度到具有匹配原创 2021-12-06 09:39:48 · 431 阅读 · 0 评论 -
08-1 Kubernetes 调度器 - 调度说明
简介Scheduler 是 kubernetes 的调度器,主要的任务是把定义的 pod 分配到集群的节点上。听起来非常简单,但有很多要考虑的问题:公平:如何保证每个节点都能被分配资源资源高效利用:集群所有资源最大化被使用效率:调度的性能要好,能够尽快地对大批量的 pod 完成调度工作灵活:允许用户根据自己的需求控制调度的逻辑Sheduler 是作为单独的程序运行的,启动之后会一直监听 API Server,获取 PodSpec.NodeName 为空的 pod,对每个 pod 都会创建一个原创 2021-12-02 12:45:55 · 146 阅读 · 0 评论 -
07-4 kubernetes 存储 Persistent Volume
Persistent Volume1、概念PersistentVolume (PV)是由管理员设置的存储,它是群集的一部分。就像节点是集群中的资源一样,PV 也是集群中的资源。 PV 是Volume 之类的卷插件,但具有独立于使用 PV 的 Pod 的生命周期。此 API 对象包含存储实现的细节,即 NFS、iSCSI 或特定于云供应商的存储系统PersistentVolumeClaim (PVC)是用户存储的请求。它与 Pod 相似。Pod 消耗节点资源,PVC 消耗 PV 资源。Pod 可以请求特原创 2021-12-02 12:30:36 · 481 阅读 · 0 评论 -
07-3 kubernetes 存储 volume
volume容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启动。其次,在Pod 中同时运行多个容器时,这些容器之间通常需要共享文件。Kubernetes 中的 Volume 抽象就很好的解决了这些问题1、背景Kubernetes 中的卷有明确的寿命 —— 与封装它的 Pod 相同。所f以,卷的生命比 Pod 中的所有容器都长,当这个容器重启时数据仍然得以保存原创 2021-12-02 12:30:04 · 105 阅读 · 0 评论 -
07-2 kubernetes 存储 Secret
一、Secret 存在意义Secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec中。Secret 可以以 Volume 或者环境变量的方式使用。Secret 有三种类型:Service Account :用来访问 Kubernetes API,由 Kubernetes 自动创建,并且会自动挂载到 Pod 的 /run/secrets/kubernetes.io/serviceaccount 目录中Opaque :base64编码格式原创 2021-12-02 12:29:38 · 199 阅读 · 0 评论 -
06 kubernetes Service
一、Service 定义1、原创 2021-12-02 11:33:53 · 298 阅读 · 0 评论 -
05 kubernetes 资源控制器
一、什么是控制器Kubernetes 中内建了很多 controller(控制器),这些相当于一个状态机,用来控制 Pod 的具体状态和行为1、控制器类型ReplicationController 和 ReplicaSetDeploymentDaemonSetStateFulSetJob/CronJobHorizontal Pod Autoscaling2、ReplicationController 和 ReplicaSetReplicationController(RC)用来确保容原创 2021-12-02 11:33:02 · 172 阅读 · 0 评论 -
04 kubernetes 资源清单
一、k8s中的资源1、集群资源分类名称空间级别:仅在此名称空间下生效。使用 kubeadm 安装 k8s 会把所有组件放到 kube-system 这个名称空间下去运行,我们使用kubectl get pod 时,会获取不到系统对应的一些pod的信息,原因是它什么都不加,相当于kubectl get pod -n default。但是k8s 组件是放在 kube-system 这个名称空间下的。集群级别:role一旦被定义,在全集群中都能够被看见以及被调用。元数据型:HPA2原创 2021-12-02 11:30:55 · 362 阅读 · 0 评论 -
03 kubernetes 的安装
一、安装架构二、新建虚拟机1、master & node01 & node022、harbor内存 2g 即可3、软路由(koolshare)需要在pe里进行软路由的写入。一定要选IDE 模式,不然会报错。20g磁盘就够了。设置CD/DVD驱动器的 pe 镜像地址。进入选择界面后,选第一个win10。进入pe系统后,更换ISO镜像文件为软路由的文件。将虚拟机的CD/DVD驱动器设置为空。然后关机。添加一块网卡,将网络改为NAT模式配置软路原创 2021-12-02 11:29:15 · 320 阅读 · 1 评论 -
01 kubernetes 原理概念
一、前世今生二、知识图谱三、组件说明四、pod 概念1、pod 概念自主式pod一旦死亡,不能自动重新创建。控制器管理的podpod控制器类型ReplicationController & ReplicaSet & DeploymentReplicationController用来确保容器应用的副本数始终保持在用户定义的副本数,即如果有容器异常退出,会自动创建新的Pod来替代;而如果异常多出来的容器也会自动回收。在新版本的 Kubernetes中建议使用 Replicas原创 2021-12-02 11:27:10 · 221 阅读 · 0 评论