一、名词介绍首先介绍几个K8s原生的概念名词:PV-PersistVolume:可被Pod挂载的持久化数据卷在K8s中表示PVC-PersistVolumeClaim:用于动态管理的持久化存储资源请求对象,定义需要的存储类型,大小,访问方式等StorageClass:定义动态管理行为的资源对象,一般由管理员维护,定义存储资源的来源,权限,分配回收策略等provisioner:运行在集群中,执行实际管理动作的工作负载。主要承担数据卷的create、delete等工作。csi(ContainerStorageInterface):旨在能为容器编排引擎和存储系统间建立一套标准的存储调用接口,通过该接
目录1.查看麒麟系统的内核 2.环境初始化3.安装docker4.安装k8s组件5.准备镜像6.在master上操作7.在node1上操作8.在master上查看节点信息9.安装网络插件calico 10. 安装界面化管理工具离线部署的前提(亲测成功,其他的不保证): 麒麟系统的内核:4.19.90-25.2.v2101.gfb01.ky10.aarch64 Docker:v20.10.7 k8s:v1.23.4另外,k8s部署的服务器内存建议预留大一些。准备相关的包:ipvsadm包(ipvsadm),docker的二进制包(docker-二进制包),k8s组件的rpm包(
序言时间永远是旁观者,所有的过程和结果,都需要我们自己去承担。Kubernetes(k8s)是一个容器编排平台,允许在容器中运行应用程序和服务。 专栏介绍欢迎订阅:【深入解析k8s】专栏简单介绍一下这个专栏要做的事:主要是深入解析每个知识点,帮助大家完全掌握k8s,以下是已更新的章节。序号文章第一讲深入解析k8s:入门指南(一)第二讲深入解析k8s:入门指南(二)第三讲深入解析Pod对象(一)第四讲深入解析Pod对象(二)第五讲深入解析无状态服务第六讲深入解析有状态服务第七讲深入解析控制器第八讲深入解析ReplicaSet第九讲深入解析滚动升级第十讲深入解析StatefulSet(一)第十一讲
背景k8s可以使用Deployment生成并管理多个pod,如果需要查看某个多pod实例的应用日志,一个一个pod依次排查过去未免太麻烦,需要有一种更高效的方式。实现使用如下命令即可查看一个Deployment的所有pod日志:kubectllogsdeployment/deployment的名字一些可选的命令参数如下(其实就是kubectllogs命令的参数,这里列举一下常用的):-f实时查看日志--previous=true可以查看被中断的pod的日志,如果需要查看崩溃的容器日志,这个参数有用--all-containers=true查看pod中所有容器的日志(适合一个pod内有多个容器的
背景k8s可以使用Deployment生成并管理多个pod,如果需要查看某个多pod实例的应用日志,一个一个pod依次排查过去未免太麻烦,需要有一种更高效的方式。实现使用如下命令即可查看一个Deployment的所有pod日志:kubectllogsdeployment/deployment的名字一些可选的命令参数如下(其实就是kubectllogs命令的参数,这里列举一下常用的):-f实时查看日志--previous=true可以查看被中断的pod的日志,如果需要查看崩溃的容器日志,这个参数有用--all-containers=true查看pod中所有容器的日志(适合一个pod内有多个容器的
在Kubernetes中,服务和Pod的IP地址仅可以在集群网络内部使用,对于集群外的应用是不可见的。为了使外部的应用能够访问集群内的服务,Kubernetes目前提供了以下几种方案:NodePortLoadBalancerIngress为了解决外部访问k8s内服务及负载均衡问题,这里介绍如何安装ingress-nginx-controller与metallb两个应用。ingress-nginx-controller:解决服务暴露与负载均衡问题metallb:为k8s集群的service提供LoadBalancer类型的支持github安装脚本安装ingress-nginx-controlle
1.什么是k8s服务账号?工作流程是怎么样的?服务账号是相对于用户账号而言,服务账号是给到在Pod中运行的进程用的。通常用于Pod的进程通过KubernetesAPI访问k8s集群来使用,比如在pod进程中查询整个集群的负载情况。服务账号工作的整个流程:1).创建ServiceAccount:用户通过kubectl创建serviceaccount,请求会发到controllermanager,controllermanager启动参数中配置的--service-account-private-key-file对serviceaccount对应的用户(这里其实是虚拟用户,可能是CN或者一个随机数
目录一、环境准备二、安装docker(所有机器——是指所有的节点包含master和node,后面也一样单独装的会说明)三、设置k8s环境准备条件(所有机器)四、安装与配置k8s 1 安装kubeletkubeadmkubectl(master上执行) 2 部署master (master上执行)(1)首先查看kubeadmconfig依赖的images有哪些:(2)然后从国内镜像拉取这些镜像(有些是可以直接拉取的,比如k8s.gcr.io/coredns/coredns:v1.8.6) (3)然后根据(1)中的依赖对这些镜像进行重命名(这里要注意重命名的版本号有的是带v的,
文章目录污点和容忍污点(Taints)查看污点:设置污点删除污点容忍(toleratints)Pod设置容忍设置容忍时间容忍示例节点自污染,pod应对节点故障污点和容忍在Kubernetes中,节点亲和性NodeAffinity是Pod上定义的一种属性,能够使Pod按我们的要求调度到某个节点上,而Taints(污点)则恰恰相反,它是Node上的一个属性,可以让Pod不能调度到带污点的节点上,甚至会对带污点节点上已有的Pod进行驱逐。当然,对应的Kubernetes可以给Pod设置Tolerations(容忍)属性来让Pod能够容忍节点上设置的污点,这样在调度时就会忽略节点上设置的污点,将Pod
目录1.搭建Docker镜像仓库:1.创建docker镜像仓库2.Docker镜像仓库访问:3.配置外网访问:4.设置允许http方式访问:5.重启docker服务:6.访问dockerhub:7.Docker镜像仓库中删除镜像:8.删除本地镜像(节省存储空间):2.生成镜像:3.华为云创建Pod:1.打开云容器引擎CCE编辑2.体验新版:编辑3.打开我们的k8s集群:4.配置项与秘钥:编辑5.工作负载->命名空间 6.镜像创建(其实就是创建Pod)7.服务注册与发现--service:4.关于Ingress:1.问题及答案:2.华为云前后端打通:3.安装nginxingresscont