kubernetes
文章平均质量分 63
kubernetes的开发
liuyunshengsir
全栈工程师
展开
-
kt-connect:研发侧利器,本地连通 Kubernetes 集群内网
KtConnect(Kt为Kubernetes Toolkit集群工具包的简写)是一款基于Kubernetes环境用于提高本地测试联调效率的小工具。Connect:建立数据代理通道,实现本地服务直接访问Kubernetes集群内网(包括Pod IP和Service域名)Exchange:让集群服务流量重定向到本地,实现快速验证本地版本和调试排查问题Mesh:创建路由规则重定向特定流量,实现多人协作场景下互不影响的本地调试Preview:暴露本地服务到集群,实现无需发布即可在线预览集成效果。原创 2024-06-15 14:19:15 · 947 阅读 · 0 评论 -
k9s常用的指令
这些是一些常见的 K9s 指令,但 K9s 提供了更多功能和快捷键,可以根据需要进行定制。你可以在 K9s 的帮助文档中查找更详细的信息,帮助文档通常可以通过在 K9s 中输入。K9s 是一个用于 Kubernetes 群集管理的命令行工具,它提供了一系列常用的指令,用于查看、管理和监控 Kubernetes 资源。进入帮助模式来查看。原创 2024-01-19 23:00:00 · 1159 阅读 · 0 评论 -
k8s 中externalTrafficPolicy应用场景和实践
在Kubernetes(K8s)中,是一个用于控制服务的外部流量的策略。这个字段可以在Service的定义中设置,其主要作用是决定服务对外部请求的负载均衡行为。具体来说,Cluster: 默认值。当设置为Cluster时,服务将负载均衡流量到所有的 Pod,无论这些 Pod 是否在同一节点上。这意味着即使请求来自于同一节点的多个 Pod,流量也可能被负载均衡到不同的节点上。: 当设置为Local时,服务将尽可能地将流量负载均衡到与请求相同节点上的 Pod。原创 2023-12-06 22:30:00 · 1249 阅读 · 0 评论 -
Kubernetes的ExternalName详解
ExternalName类型的Service在Kubernetes中用于将外部服务(不是Kubernetes集群内的服务)映射到Kubernetes集群内的Service。原创 2023-08-31 16:54:15 · 533 阅读 · 0 评论 -
Kubernetes的endpoint
Kubernetes的endpoint(终结点)是用于将服务绑定到集群中其他组件的网络地址。Endpoint为服务提供了一个稳定的虚拟IP地址,它会负责将流量从Service路由到后端Pod。该示例创建了一个名为my-service的Service,它将选择带有"app=backend"标签的Pod,并将流量路由到Pod的80端口。Kubernetes将在集群中的每个节点上创建一个虚拟IP(ClusterIP),用于表示Service。原创 2023-08-18 10:46:48 · 1308 阅读 · 0 评论 -
Pod 优先级和抢占
Pod 可以有优先级。优先级表示一个 Pod 相对于其他 Pod 的重要性。如果一个 Pod 无法被调度,调度程序会尝试抢占(驱逐)较低优先级的 Pod, 使新的 Pod 可以被调度。在一个并非所有用户都是可信的集群中,恶意用户可能以最高优先级创建 Pod, 导致其他 Pod 被驱逐或者无法被调度。管理员可以使用 ResourceQuota 来阻止用户创建高优先级的 Pod。原创 2023-08-17 22:30:00 · 267 阅读 · 0 评论 -
Kubernetes几种常见的调度方式以及对应的 YAML 示例
这些是 Kubernetes 中常见的调度方式的 YAML 示例。根据实际需求,可以组合和配置不同的调度规则,并添加其他字段(如标签选择器)来进一步定制 Pod 的调度行为。字段中定义 CPU 和内存的请求和限制,Kubernetes 将会根据这些资源需求与节点容量进行调度。规则,并设置权重值,以软限制的方式进行调度。上述示例中,通过在 Pod 的。上述示例中,通过在 Pod 的。规则,将 Pod 调度到具有。上述示例中,通过在 Pod 的。上述示例中,通过在 Pod 的。原创 2023-08-16 14:13:10 · 100 阅读 · 0 评论 -
Kubernetes 整体架构介绍
Kubernetes 主要由以下几个核心组件组成:原创 2023-08-05 10:19:26 · 874 阅读 · 0 评论 -
kubectl 如何查看 node、pod 的 cpu、ram使用率
【代码】kubectl 如何查看 node、pod 的 cpu、ram使用率。原创 2023-05-12 14:17:22 · 1330 阅读 · 0 评论 -
Kubernetes-Qos之 Guaranteed, Burstable, Best-Effort
K8S通过Request和Limit两个抽象概念来给Pod申请资源与配额:(1)Request是资源预估申请,由K8s调度决策是否能够满足申请,如有资源则保证供给,如果资源资源不足则显示等待状态。(2)Limit是容器资源限额:内存超额 > OOMKill相关的容器CPU超额 > 限制使用量(throttling)(4)管理员还可配置名字空间级别的配额(ResourceQuota/LimitRange)原创 2023-04-06 14:11:48 · 964 阅读 · 0 评论 -
Kubernetes的 pod 重启策略、Pod状态、生命周期
Pod的重启策略指的是当Pod中的容器终止退出后,重启容器的策略。需要注意的是,因为Docker容器的轻量级,重启容器的做法实际上是直接重建容器,所以容器中的数据将会丢失,如有需要持久化的数据,那么需要使用数据卷进行持久化设置。重启策略是通过Pod定义中的.spec.restartPolicy 进行设置的,目前支持以下3种策略。Always:当容器终止退出后,总是重启容器,默认策略。OnFailure:当容器终止异常退出(退出码非0)时,才重启容器。Never:当容器终止退出时,从不重启容器。原创 2023-01-30 19:56:29 · 1587 阅读 · 0 评论 -
Kubernetes的Sidecar模式
实践apiVersion: v1kind: Podmetadata: name: test-sidecarspec: volumes: - name: share-path emptyDir: {} containers: - name: sidecar image: busybox command: ["/bin/sh", "-c", "sleep 3600"] volumeMounts: - name: share-path原创 2022-01-15 15:38:47 · 1394 阅读 · 1 评论 -
helm3 常用命令
1.查看版本[root@rds005-master-1 hello]# helm versionversion.BuildInfo{Version:"v3.6.0", GitCommit:"7f2df6467771a75f5646b7f12afb408590ed1755", GitTreeState:"clean", GoVersion:"go1.16.3"}2.仓库管理# helm repo add stable https://kubernetes.oss-cn-hangzhou.aliy原创 2021-11-13 15:37:18 · 1276 阅读 · 0 评论 -
k8s 设置nfs的StorageClass
rbac.yamlapiVersion: v1kind: ServiceAccountmetadata: name: nfs-client-provisioner namespace: kube-system---kind: ClusterRoleapiVersion: rbac.authorization.k8s.io/v1metadata: name: nfs-client-provisioner-runnerrules: - apiGroups: [""] re原创 2021-11-12 15:34:25 · 641 阅读 · 0 评论 -
KubeOperator 安装k8s集群
1.总体介绍KubeOperator 是一个开源的轻量级 Kubernetes 发行版,专注于帮助企业规划、部署和运营生产级别的 Kubernetes 集群。KubeOperator 提供可视化的 Web UI,支持离线环境,支持物理机、VMware、OpenStack 和 FusionCompute 等 IaaS 平台,支持 x86 和 ARM64 架构,支持 GPU,内置应用商店,已通过 CNCF 的 Kubernetes 软件一致性认证。KubeOperator 使用 Terraform 在 I原创 2021-11-12 11:12:21 · 1127 阅读 · 0 评论 -
Pod 优先级及资源抢占(官方文档及关键点翻译)
Pod Priority and PreemptionFEATURE STATE:Kubernetes 1.14stable(请使用最新版以获得最好支持)Podscan havepriority. Priority indicates the importance of a Pod relative to other Pods. If a Pod cannot be schedul...原创 2019-04-11 09:24:34 · 1244 阅读 · 0 评论 -
Kubernetes 的Ingress的Rewrite annotations
1.配置项2.实验!!! attention Starting in Version 0.22.0, ingress definitions using the annotation nginx.ingress.kubernetes.io/rewrite-target are not backwards compatible with previous versions. In Version 0.22.0 and beyond, any substrings within the request U原创 2021-11-02 14:30:14 · 1954 阅读 · 0 评论 -
Ingress 域名方式导致413 Request Entity Too Large
解决方案在ingress的annotations下添加相关的参数kind: IngressapiVersion: extensions/v1beta1metadata: name: lys-router namespace: lys-ns annotations: kubesphere.io/alias-name: lys-router kubesphere.io/creator: admin kubesphere.io/description: 控制台路由原创 2021-09-29 18:01:24 · 364 阅读 · 0 评论 -
Kubernetes 的Ingress
1.什么是Ingress?Ingress exposes HTTP and HTTPS routes from outside the cluster to services within the cluster. Traffic routing is controlled by rules defined on the Ingress resource.Kubernetes暴露服务的方式目前只有三种:LoadBlancer Service、ExternalName、NodePort Service、I原创 2021-07-15 20:41:32 · 270 阅读 · 2 评论 -
k8s 集群Node节点扩缩容
Node的扩缩容在实际生产系统中经常遇到服务器容量不足的情况,这时候就需要购买新的服务器,对应用系统进行水平扩展以实现扩容。在k8s中,对一个新的node的加入非常简单,只需要在node节点上安装docker、kubelet和kube-proxy服务,然后将kubelet和kube-proxy的启动参数中的master url指定为当前kubernetes集群master的地址,然后启动服务即...原创 2020-03-27 20:45:17 · 4500 阅读 · 0 评论 -
Centos7安装docker仓库Harbor
1.安装docker//安装常用组件包yum install -y yum-utils device-mapper-persistent-data lvm2//配置docker的yum源yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo//安装Docke...原创 2018-04-17 16:30:54 · 2106 阅读 · 3 评论 -
kubernetes 集群的搭建(最全)
1.安装docker(docker的版本与kubernetes 的版本兼容性需要注意)# 配置docker仓库wget -P /etc/yum.repos.d/ https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo# 安装docker-ce-18.06.0.ce-3.el7.x86_64yum install -...原创 2019-04-25 20:34:31 · 17477 阅读 · 4 评论 -
pv 与pvc的绑定
创建pvapiVersion: v1kind: PersistentVolumemetadata: name: pv003 labels: app: vnc003spec: capacity: storage: 5Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Reta...原创 2019-03-28 20:28:28 · 5903 阅读 · 1 评论 -
利用deployment创建挂载本地路径的容器
在宿主机上创建路径mkdir /root/k8s/vnc_host_path创建vnc.yamlapiVersion: apps/v1 # for versions before 1.9.0 use apps/v1beta2kind: Deployment metadata: name: vnc labels: app: vncspec: selector: ...原创 2019-03-27 10:38:37 · 5784 阅读 · 0 评论 -
namespace --------k8s
1.Namespace介绍Namespace(命名空间)是kubernetes系统中的另一个重要的概念,通过将系统内部的对象“分配”到不同的Namespace中,形成逻辑上分组的不同项目、小组或用户组,便于不同的分组在共享使用整个集群的资源的同时还能被分别管理。Kubernetes集群在启动后,会创建一个名为“default”的Namespace,如果不特别指明Namespace,则用户创...原创 2018-10-23 17:05:37 · 4334 阅读 · 0 评论 -
k8s调用GPU
创建可调用GPU的podapiVersion: apps/v1kind: Deploymentmetadata: name: gpu-master namespace: gpuspec: replicas: 1 selector: matchLabels: app: gpu-master template: metadata: l...原创 2019-09-05 17:37:48 · 4314 阅读 · 0 评论 -
制作内置novnc服务
1.获取novnc的服务代码我的下载里面获取2.制作启动脚本vim /root/novnc_start.sh#!/bin/bashnohup /root/noVNC-1.0.0/utils/launch.sh --vnc localhost:5901 &echo $! > /var/run/novnc.pid3.制作servicevim /etc/systemd...原创 2019-09-27 20:15:33 · 635 阅读 · 1 评论 -
Kubernetes 为系统守护进程预留计算资源
Kubernetes 的节点可以按照 Capacity 调度。默认情况下 pod 能够使用节点全部可用容量。这是个问题,因为节点自己通常运行了不少驱动 OS 和 Kubernetes 的系统守护进程(system daemons)。除非为这些系统守护进程留出资源,否则它们将与 pod 争夺资源并导致节点资源短缺问题。kubelet 公开了一个名为 Node Allocatable 的特性,有助于...原创 2019-09-28 15:47:53 · 464 阅读 · 0 评论