K8s-存储_Volume 引入:Volume存在的意义 容器磁盘上的文件的生命周期是短暂的,这就使得在容器中运行重要 应用时会出现一些问题。首先,当容器崩溃时,kubelet 会重启它,但是容器中的文件将丢失——容器以干净的状态(镜像最初的状态)重新启 动。其次,在 Pod 中同时运行多个容器时,这些容
Secret 存在意义 Secret 解决了密码、token、密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者 Pod Spec中。Secret 可以以 Volume 或者环境变量的方式使用 Secret 有三种类型: Service Account :用来访问 Kubernetes API,由 Kubernetes 自动创建,并且会自动
报错: 解决方案: 输入这条命令 [root@k8s-master01 ingress]# kubectl delete -A ValidatingWebhookConfiguration ingress-nginx-admissionvalidatingwebhookconfiguration.admissionregistration.k8s.io "ingress-nginx-admission" deleted[root@k8s-master01 i
K8s-存储_PV 引入:PV概念 PersistentVolume,是由管理员设置的存储,他是集群的一部分,就像节点就 是集群的资源的一样,PV也是集群中的资源,PV是Volume之类的插件,但具有 独立于使用PV的pod生命周期,此API对象包含存储实现的细节,即NFS,iSCSI 或特定于供应商的存储系统,灵活性极强; PVC概念
环境准备 1、在运行 Ceph 守护进程的节点上创建一个普通用户,ceph-deploy 会在节点安装软件包,所以你创建的用户需要无密码 sudo 权限。如果使用root可以忽略。为赋予用户所有权限,把下列加入 /etc/sudoers.d/ceph echo "ceph ALL = (root) NOPASSWD:ALL" | tee /etc/sudoers.d/cep
之前对僵尸进程确实是一知半解,没有好好研究过。这次本着学习的目的,梳理了僵尸进程的有关知识点以及在 k8s 容器中的应用。分享给大家,希望大家也能有所了解,别像我之前那样云里雾里。 本文主要是介绍僵尸进程以及在容器中预防僵尸进程的一些方法。大概分为以下几部分: 僵尸进程
Containerd容器的学习(借鉴的) 了解知识 在学习 Containerd 之前我们有必要对 Docker 的发展历史做一个简单的回顾,因为这里面牵涉到的组件实战是有点多,有很多我们会经常听到,但是不清楚这些组件到底是干什么用的,比如 libcontainer、runc、containerd、CRI、OCI 等等。 Docker[¶
1.实验,一台master主机和两台work主机搭建k8s集群 三台机器都需要开启虚拟化,master主机的内存和cpu数多点 master至少2核数,node节点至少1核数 以下操作是三台机器都需要操作相同步骤 分别在三台服务器 ssh-keygen ssh-copy-id work1 ssh-copy-id master 去/root/.ssh目录下有
Pod的生命周期 示意图: pod里的探针:检测服务的可用性 是否就绪 是否工作正常 分类 就绪探针:判断服务是否可以提供访问 存活探针:检测是否可以继续工作 检测方法 TCP socket响应 HTTP >=200 && <400 #正常值 EXEC 0 #运行脚本的返回值为0正常 pod生命周期详细说明
今天发现私有云上的Kubernetes cluster中的一个node似乎不工作了,连带的的应用也挂掉了,并且长时间没有恢复。在kubernetes上创建POD时,有个节点一直不能分配到POD,并且该节点上有些pod的状态为Pending。 首先,我查看集群中的所有Pods状态,发现node1和node3上的Pods均正常(runni
使用Helm部署 dashboard dashboard.yaml: #为了方便测试,先将已经有的dashboard镜像上传到我个人的镜像仓库,以下模板就可以基于我的仓库进行下载即可 image: repository: chenxiyanglinux/dashboard tag: v1.10.1 ingress: enabled: true hosts: - dashboard.cmft.com
1、什么是PV、PVC PV(PersistentVolume):持久化卷 PVC(PersistentVolumeClaim):持久化声明 为何有了Volumes,还要引进PV、PVC?因为Volumes的类型有很多,每次切换不同的类型如hotsPath,第三方的云存储,都需要手动改动yaml的对应的类型,且每种类型的写法声明方式都不同,导致不灵活不好维护
apiVersion: v1 #必选,版本号,例如v1 kind: Pod #必选,Pod metadata: #必选,元数据 name: string #必选,Pod名称 namespace: string #必选,Pod所属的命名空间 labels: #自定义标签 - name: string #自定义标签名字 annotations:
一、kubectl命令 1. 格式:kubectl [command] [type] [name] [flag] command:资源执行的操作,如create、get、delete; type:指定资源类型,如pod、service、deployment; name:指定资源名称; flags:额外可选参数; https://blog.csdn.net/qq_37304462/art
master节点 1、更改配置文件,重新加载 systemctl daemon-reload 2、启动master相关组件 systemctl start kube-apiserver systemctl start kube-controller-manager systemctl start kube-scheduleretc 服务: 1、更改配置后,重新加载 systemctl daemon-reload 2、启动etcd服务 syst
1、什么是Volumns? k8s中的volumns跟docker中的volumns有点类似,都是用于挂载应用的数据。但是docker中的volumns通常只挂载在主机的目录,其生命周期无法管理。而K8S中的Volumns则独立于任何容器,其与pod有着相同的生命周期。同时pod中的容器可以共享该Volumns。因此,当容器在pod中重启
Helm简介 一、什么是 Helm(官网:https://helm.sh/) 在没使用 helm 之前,向 kubernetes 部署应用,我们要依次部署 deployment、svc 等,步骤较繁琐。况且随着很多项目微服务化,复杂的应用在容器中部署以及管理显得较为复杂,helm 通过打包的方式,支持发布的版本管理和控制,很大程度上简化
本页说明了在 Kubernetes API 中是如何表示 Kubernetes 对象的, 以及使用 .yaml 格式的文件表示 Kubernetes 对象。 https://kubernetes.io/zh-cn/docs/concepts/overview/working-with-objects/kubernetes-objects/ 理解 Kubernetes 对象 在 Kubernetes 系统中,Kubernetes 对象
1、环境配置 关闭防火墙systemctl stop firewalld && systemctl disable firewalld 关闭selinuxsetenforce 0sed -i 's/enforcing/disabled/' /etc/selinux/config 关闭swapswapoff -a sed -ri 's/.*swap.*/#&/' /etc/fstab (永久关闭) 主机名与IP对应关系vi /etc/host
1、k8s核心组件包括如下 K8s Master 组件 kube-apiserver :K8s 集群访问入口,此接口封装了增删改查功能,提供给外部客户端和内部组件调用(将维护的数据持久化到etcd)。 kube-scheduler(调度器) :负责集群的资源调度。例如,创建新Pod时,为Pod选择一个运行的节点。 kube-cont
k8s之路-Rancher还是先碎碎念一下,近期需要在内部环境搭建一套k8s,暂时记录一下,后续需要的话再整理一个体系,公司的生产大环境为kubeshpere,对比之下自己还是使用了rancher 官方文档:http://docs.rancher.cn/docs/rancher2.5/overview/_index 有问题,找文档 Rancher 2.6.4 特性 请参考
kube-apiserver Kubernetes API server 提供了k8s各类资源对象的增删改查及watch等HTTP Rest接口,这些对象包括pods、services、replication controllers等,API Server 为REST操作提供服务,并为集群的共享状态提供前端,所有其他组件都通过该前端进行交互。 RESTful API:是RSET风格的网
一、k8s的二进制部署 1.环境准备: IP 节点 172.16.10.1 k8s-master01 172.16.10.3 k8s-master02 172.16.10.10 k8s-node01 172.16.10.20 k8s-node02 172.16.10.11 m
当用户访问网站的时候,负载均衡转发给node,node转发给对应的node-pod,node-pod转发给service,service根据label标签筛选器,通过筛选器转发给对应的pod,pod通过service调用其他的pod,service会自动筛选和匹配对应的pod,符合条件的pod会自动添加到endpoints (可以通过kubectl get ep 查看)
1、Service是什么? Service是一种k8s集群中访问pod的一种策略。k8s中的pod具有生命周期,且不可复活。每个pod有着自己的IP地址,pod的销毁与创建都会创新的IP地址。Service就是用来统一管理跟踪这些pod的变化,即使pod发生变化,对于前台的调用是无感知,前台无需进行任何修改。service肩