
Kubernetes
文章平均质量分 84
Kubernetes基本使用和原理解析
Bulut0907
大数据、机器学习、编程语言、IT相关技术分享, 喜欢请关注、点赞、收藏哦!
展开
-
Kubernetes(k8s)使用问题记录和解决方法
在ping百度的域名就可以ping通了。新建kube-dns.yaml文件,内容如下。新建coredns-clusterrole.yaml文件,内容如下。通过如下命令删除coredns pod,但是deployment并不能重建pod。在Pod内进行ping百度的IP可以ping通,ping百度的域名不能ping通。我们通过解析百度的域名,获取到百度的IP。然后绑定角色,给coredns服务账号授权。再次ping百度的域名,就可以ping通了。在Pod中ping百度,是ping不通的。原创 2022-09-16 09:28:35 · 2248 阅读 · 0 评论 -
Flink通过Native Kubernetes(k8s)方式Session模式和Application模式进行部署
目录1. Session模式1.1 安装Java1.2 下载Flink并解压1.3 在所有k8s的所有node节点下载flink镜像1.4 创建namespace、service账号和给账号授权1.5 启动flink的jobmanager1.6 访问Flink Web页面1.7 向Flink集群提交任务1.8 再次查看Pod和Flink Web1. Session模式1.1 安装Javajava 8的安装,请参考我的这篇博客centos7同时安装java8和openJdk11、windows同时安装j原创 2022-09-15 09:27:14 · 5253 阅读 · 4 评论 -
Kubernetes(k8s)的安全认证介绍和RBAC基于角色的访问控制使用
User Account:一般是独立于kubernetes的Pod服务之外的其他服务管理的用户账号Service Account:kubernetes为Pod的服务进程在访问kubernetes时提供身份标识授权发生在认证成功之后,然后kubernetes会根据事先定义的授权策略来决定用户是否有权限访问,这个过程就称为授权。原创 2022-09-14 09:20:14 · 609 阅读 · 2 评论 -
Kubernetes(k8s)的Volume数据存储配置储存类型ConfigMap和Secret的使用
目录1. ConfigMap1.1 概述1.2 资源清单文件1.3 创建ConfigMap1.4 创建Pod,查看Pod,进入Pod2. Secret2.1 概述2.2 创建Secret2.3 查看Secret详情2.4 创建Pod,查看Pod,进入Pod1. ConfigMap1.1 概述主要作用是用来存储配置信息的1.2 资源清单文件apiVersion: v1kind: ConfigMapmetadata: name: configMap namespace: devdata:原创 2022-09-14 09:19:27 · 575 阅读 · 0 评论 -
Kubernetes(k8s)的Volume数据存储高级储存类型PV和PVC的使用
目录1. PV和PVC概述2. PV2.1 PV的资源清单文件2.2 准备NFS环境2.3 创建PV2.4 查看PV3. PVC3.1 PVC的资源清单文件3.3 创建PVC3.4 查看PVC4. 创建Pod使用PVC5. 查看PV和PVC6. 查看远程NFS的共享目录7. PV和PVC的生命周期1. PV和PVC概述由于kubernetes支持的存储系统有很多,为了能够屏蔽底层存储实现的细节,方便普通用户使用,kubernetes引入了PV和PVC两种资源对象PV(Persistent Volum原创 2022-09-13 09:24:11 · 1688 阅读 · 0 评论 -
Kubernetes(k8s)的Volume数据存储介绍和各种基本储存类型(EmptyDir、HostPath、NFS)的使用
目录1. 概述2. EmptyDir2.1 概述2.2 EmptyDir使用实战2.2.1 创建pod2.2.2 查看pod2.2.3 访问Pod中的Nginx:2.3.4 查看busybox容器的标准输出3. HostPath3.1 概述3.2 HostPath使用实战3.2.1 创建pod3.2.2 查看pod3.2.3 访问Pod中的Nginx:3.3.4 查看Pod所在node节点的日志4. NFS4.1 概述4.2 搭建NFS服务器4.3 NFS使用实战4.3.1 创建pod4.3.2 查看pod原创 2022-09-13 09:23:04 · 2090 阅读 · 0 评论 -
Kubernetes(k8s)的流量负载组件Ingress安装与使用
目录1. Ingress介绍1. Ingress介绍Service对集群之外暴露服务的主要方式有两种:NodePort和LoadBalancer,但这两种方式都有缺点:NodePort方式会占用集群每个节点的很多端口LoadBalancer每个Service都需要一个LB,并且需要kubernetes之外的设备支持Ingress只需要一个NodePort或者一个LB就可以满足暴露多个Service的需求,工作机制大致如下图所示Ingress相当于一个七层的负载均衡器,是kubernetes原创 2022-08-08 09:37:46 · 1811 阅读 · 0 评论 -
Kubernetes(k8s)的流量负载组件Service的NodePort、LoadBalancer、ExternalName类型讲解与使用
目录1. NodePort1. 概述1.2 创建Service1.3 查看Service然后访问页面2. LoadBalancer3. ExternalName3.1 创建Service3.2 域名解析1. NodePort1. 概述ClusterIP创建的Service的IP地址只能在集群内部访问。而NodePort类型的Service,可以将Service的端口映射到Node的一个端口上,就可以在集群外部通过http://集群任意节点:NodePort来访问Service了1.2 创建Serv原创 2022-08-08 09:34:59 · 2324 阅读 · 0 评论 -
Kubernetes(k8s)的流量负载组件Service的ClusterIP类型讲解与使用
目录1. 环境准备2. 创建Service3. 查看service4. Endpoint5. 访问Service6. 删除service7. HeadLiness类型的Service7.1 概述7.2 创建Service7.3 查询Service7.3 查看域名解析情况7.4 通过Service的域名进行查询1. 环境准备首先利用Deployment创建出3个Pod,为Pod设置app=nginx-pod的标签新建pod-controller.yaml,内容如下。然后运行deployment[roo原创 2022-08-05 16:40:06 · 1244 阅读 · 0 评论 -
Kubernetes(k8s)的流量负载组件Service基础介绍和原理讲解、IPVS的开启
目录1. Service介绍2. Service访问规则转发说明3. ipvs的开启4. kube-proxy支持的三种工作模式4.1 userspace模式4.2 iptables模式4.3 ipvs模式5. Service的类型和资源清单模板1. Service介绍虽然可以通过Pod的IP来访问应用程序,但是Pod的IP地址不是固定的。而Service会对提供同一个服务的多个Pod进行聚合,并且提供一个统一的访问入口地址每个Node节点上都运行了一个kube-proxy的服务进程。当创建Serv原创 2022-08-05 16:38:30 · 977 阅读 · 0 评论 -
Kubernetes(k8s)的Pod控制器Job和CronJob详细讲解
目录1. Job控制器1.1 概述1.2 Job的创建、查看、删除1.2.1 Job的创建1.2.2 Job的查看1.2.3 Job的删除2. CronJob控制器2.1 概述2.2 CronJob的创建、查看、删除2.2.1 CronJob的创建2.2.2 CronJob的查看2.2.3 CronJob的删除1. Job控制器1.1 概述Job主要用于负责批量处理短暂的一次性任务Job的特点:当Job创建的Pod执行成功结束时,Job将记录成功结束的Pod数量当成功结束的Pod达到指定的数量原创 2022-08-03 09:27:41 · 1810 阅读 · 0 评论 -
Kubernetes(k8s)的Pod控制器DaemonSet详细讲解
目录1. 概述2. DaemonSet的创建、查看、删除2.1 DaemonSet的创建2.2 DaemonSet的查看2.3 DaemonSet的删除1. 概述DaemonSet类型的控制器可以保证集群中的每一台(或指定)节点上都运行一个且只有一个副本,一般适用于日志收集、节点监控等场景DaemonSet控制器的特点:每向集群中添加一个节点的时候,指定的Pod副本也将添加到该节点上当节点从集群中移除的时候,Pod也会被垃圾回收DaemonSet的资源清单模板apiVersion: ap原创 2022-08-01 09:10:36 · 1241 阅读 · 0 评论 -
Kubernetes(k8s)的Pod控制器Horizontal Pod Autoscaler(HPA)详细讲解
目录1. 概述2. kubernetes-sigs/metrics-server的介绍和安装2.1 metrics-server安装2.2 查看资源使用情况3. 准备Deployment和Service3.1 准备Deployment3.2 准备Service4. 部署HPA5. 测试1. 概述kubectl scale命令实现Pod的扩缩容需要人工操作。kubernetes可以通过监测Pod的使用情况,实现Pod数量的自动调整,这就是HPA控制器HPA可以获取每个Pod的利用率,然后和HPA中定义的原创 2022-08-01 09:08:44 · 1161 阅读 · 0 评论 -
Kubernetes(k8s)的Pod控制器Deployment详细讲解
Deployment控制器并不直接管理Pod,而是通过管理ReplicaSet来间接管理Pod。所以Deployment的功能比ReplicaSet强大。支持扩缩容、发布的停止和继续、镜像版本滚动变更、ReplicaSet版本回退Deployment的资源清单文件模板apiVersionapps/v1kindmetadatanamepod-controller#deploy名称namespacedev#deploy所属命名空间labels#给deploy打标签。...原创 2022-07-27 09:19:14 · 6264 阅读 · 2 评论 -
Kubernetes(k8s)的Pod控制器介绍和ReplicaSet控制器详细讲解
目录1. Pod控制器的介绍2. ReplicaSet(RS)2.1 概述1. Pod控制器的介绍在kubernetes中,Pod的创建方式可以分为两类:自主式Pod:kubernetes直接创建的Pod,这种Pod删除后不会重建控制器创建的Pod:通过Pod控制器创建的Pod,这种Pod删除之后还会自动重建Pod控制器是管理Pod的中间层,通过Pod控制器创建符合用户期望状态的指定数量Pod。如果Pod在运行中出现故障,Pod控制器会基于指定的策略重启或重建Pod有下面几种Pod控制器:原创 2022-07-26 22:13:06 · 775 阅读 · 0 评论 -
Kubernetes(k8s)的Pod资源清单调度Schedule相关属性详细讲解
目录1. 概述2. 定向调度2.1 概述2.2 nodeName2.3 nodeSelector3. 亲和性调度(Affinity)3.1 概述3.2 nodeAffinity3.2.1 requiredDuringSchedulingIgnoredDuringExecution3.2.2 preferredDuringSchedulingIgnoredDuringExecution3.3 podAffinity3.3.1 requiredDuringSchedulingIgnoredDuringExecu原创 2022-07-25 09:05:44 · 1193 阅读 · 0 评论 -
Kubernetes(k8s)的Pod资源清单生命周期Lifecycle相关属性详细讲解
目录1. 概述2. Pod的创建和删除过程2.1 Pod的创建过程2.2 Pod的删除过程3. init container初始化容器1. 概述Pod对象从创建到删除的这段时间范围称为Pod的生命周期,主要包含下面的过程:Pod创建运行初始化容器(init container)运行主容器(main container)容器启动后钩子(post start)容器的存活性探测(liveness probe)、就绪性探测(readiness probe)容器删除前钩子(pre stop)原创 2022-07-01 09:04:11 · 3297 阅读 · 0 评论 -
Kubernetes(k8s)的Pod资源清单spec.containers属性详细讲解
目录1. 概述2. Pod的基本配置3. 镜像拉取策略4. 启动命令5. 环境变量1. 概述通过命令kubectl explain pod.spec.containers查询,将重要结果整理如下:containers: <[]Object> # 数组,代表可以有多个容器: name: <string> # 容器名称 image: <string> # 容器需要的镜像地址 ima原创 2022-07-01 09:02:44 · 4276 阅读 · 0 评论 -
Kubernetes(k8s)的Pod资源清单常用属性介绍
目录1. Pod的介绍2. Pod的常用资源清单3. 查询Pod资源清单命令4. Pod资源清单一级属性和spec属性的简要说明1. Pod的介绍每个Pod中都包含一个或多个容器,容器分为两类:用户程序所在的容器,数量为一个或多个Pause容器,每个Pod都有的一个根容器,它的作用有两个:可以以它为依据,评估整个Pod的健康状况可以在根容器上设置IP地址,其它容器都共享此IP(Pod的IP),以实现Pod内部的网络通信(Pod之间的通讯采用虚拟网络技术来实现,我们当前环境使用的是Calico原创 2022-06-30 09:07:39 · 714 阅读 · 0 评论 -
Kubernetes(k8s)的Namespace、Pod、Label、Deployment、Service实战入门
目录1. Namespace1.1 Namespace介绍1. Namespace1.1 Namespace介绍Namespace是kubernetes系统中的一种资源,是用来实现多套系统的资源隔离。比如开发环境和测试环境的资源隔离不同Namespace的Pod不能相互访问,同一Namespace的Pod可以相互访问。通过Namespace进行统一的管理kubernetes的资源配额机制,限定不同Namespace能占用的CPU、内存资源使用量等。通过kubernetes的授权机制,将不同的Na原创 2022-06-30 09:05:24 · 2305 阅读 · 0 评论 -
Kubernetes(k8s)的三种资源管理方式
目录1. 命令式对象管理1.1 kubectl命令的语法1.2 常用的kubectl各种command1.3 常操作的kubectl各种type资源类型2. 命令式对象配置3. 声明式对象配置1. 命令式对象管理直接使用命令去操作kubernetes的资源,常用于测试1.1 kubectl命令的语法kubectl command [type] [name] [flags]说明:command:指定要对资源执行的操作,比如run、create、get、deletetype:指定资源的类型,比原创 2022-06-29 09:04:34 · 607 阅读 · 0 评论 -
Kubernetes(k8s) 1.24.0版本基于Containerd的集群安装部署
目录1. containerd安装1. docker安装1.1 卸载旧版本Docker方法1.2 配置yum源1.3 安装docker1.4 配置加速2. 安装cri-dockerd2.1 安装go并设置goproxy2.2 安装cri-dockerd3. 安装k8s集群3.1 服务器要求3.2 基础环境3.3 安装kubelet、kubeadm、kubectl3.4 下载各个机器需要的镜像3.5 初始化主节点(只在master节点执行)3.6 设置.kube/config(只在master执行)3.7 查原创 2022-06-29 09:02:17 · 9490 阅读 · 4 评论 -
Kubernetes(K8s)的概念、功能和组件介绍
目录1. 为什么会有k8s2. k8s的功能3. k8s的组件介绍3.1 master3.2 node3.3 一个详细的例子1. 为什么会有k8s容器化部署的优点:共享了操作系统,节约了资源每个容器拥有自己的文件系统、CPU 、内存和进程空间等可以对容器的资源进行控制,不影响其它容器和宿主机容器化的应用可以在不同的云服务商、不同的Linux系统进行部署k8s就是为了容器编排而生。例如:一个容器挂掉了,立刻启动另外一个容器提供服务访问量剧增,立刻新增容器提供服务2. k8s的功能原创 2022-06-16 09:36:39 · 743 阅读 · 0 评论 -
Kubernetes(k8s) 1.23.6版本基于Docker的集群安装部署
目录1. 部署方式2. 集群规划3. docker安装3.1 卸载旧版本Docker方法3.2 配置yum源3.3 安装docker3.4 配置加速4. 安装k8s集群4.1 服务器要求4.2 基础环境4.3 安装kubelet、kubeadm、kubectl4.4 下载各个机器需要的镜像4.5 初始化主节点(只在master节点执行)4.6 设置.kube/config(只在master执行)4.7 查看集群pod和node等命令(只在master执行)4.8 安装网络插件(只在master执行)4.9原创 2022-05-24 10:36:37 · 7511 阅读 · 2 评论