k8s专题

云原生容器技术入门:Docker、K8s技术的基本原理和用途

🐇明明跟你说过:个人主页 🏅个人专栏:《未来已来:云原生之旅》🏅 🔖行路有良友,便是天堂🔖 目录 一、容器技术概述 1、什么是容器技术 2、容器技术的历史与发展 3、容器技术与虚拟机的比较 4、容器技术在云原生中的作用 二、Docker基础 1、Docker简介 2、Docker架构 3、Docker与工作原理 三、Kubernetes(k8s)基础 1、

k8s集群master故障恢复笔记

剔除故障节点 kubectl drain master故障节点 kubectl delete node master故障节点 kubeadm reset rm -rf /etc/kubernetes/manifests mkdir -p /etc/kubernetes/pki/etcd/ 从master其他节点拷 scp /etc/kubernetes/pki/ca.crt ca.k

【K8S运维】整理常见使用命令

*特别提醒: 文件复制类的命令,执行命令等需要谨慎确定命令执行后的效果,否则一旦出错就不可逆!!! 命令概览 序号使用场景命令格式使用样例命令使用说明1查询集群节点有多少kubectl get nodes2查询集群运行哪些podkubectl get pods -o wide -A3查询指定pod名称的pod信息kubeclt get pods -o wide -A|grep <具体pod对象

K8S - 实现statefulset 有状态service的灰度发布

什么是灰度发布 Canary Release 参考 理解 什么是 滚动更新,蓝绿部署,灰度发布 以及它们的区别 配置partition in updateStrategy/rollingUpdate 这次我为修改了 statefulset 的1个yaml file statefulsets/stateful-nginx-without-pvc.yaml: ---apiVersio

K8s常用运维命令

一. 查看集群信息 [root@k8s-master ~]# kubectl cluster-info Kubernetes master is running at http://localhost:8080 To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'. [root@k8s

k8s volcano + deepspeed多机训练 + RDMA ROCE+ 用户权限安全方案【建议收藏】

前提:nvidia、cuda、nvidia-fabricmanager等相关的组件已经在宿主机正确安装,如果没有安装可以参考我之前发的文章GPU A800 A100系列NVIDIA环境和PyTorch2.0基础环境配置【建议收藏】_a800多卡运行环境配置-CSDN博客文章浏览阅读1.1k次,点赞8次,收藏16次。Ant系列GPU支持 NvLink & NvSwitch,若您使用多GPU卡的机型,

k8s离线部署nginx

1. 拉取nginx离线包到本地 sudo docker save nginx:latest -o nginx.tar 2. 导入nginx image到k8s命名空间中 sudo ctr -n k8s.io images import nginx.tar 3. 编辑nginx.yaml apiVersion: apps/v1kind: Deploymentmetadata:name

Kubernetes (K8s) 实现按需扩容

本文主要介绍Kubernetes (K8s)实现 HDFS 和 OLAP 系统的按需扩容。以下是如何在 Kubernetes 上实现 HDFS 和 OLAP 系统的按需扩容的概述和示例。 1. 部署 HDFS 在 Kubernetes 上 首先,您需要在 Kubernetes 集群上部署 HDFS。可以使用 Helm Chart 这样的工具来简化部署过程。 部署 HDFS

13.1.k8s集群的七层代理-ingress资源(进阶知识)

目录 一、ingress概述 1.前言 2.问题 3.ingress资源 二、ingress-nginx是什么 三、ingress-nginx 实现原理 四、部署ingress-nginx 1.获取部署文件 ingress-nginx.yaml 2.部署ingress-nginx 3.检查部署是否成功 五、编写使用Ingress样例代码 1.Ingress资源对象yam

k8s 离线安装calico

k8s安装calico的命令是 curl -L https://projectcalico.docs.tigera.io/manifests/calico.yaml -Okubectl apply -f calico.yaml 但是在pull calico的镜像时,由于一些网络原因,可能会导致image pull失败的错误。 可以尝试离线安装calico, 具体步骤是 1. 去githu

3.3 Ubuntu24使用kubeadm部署高可用K8S集群

Ubuntu24使用kubeadm部署高可用K8S集群 使用kubeadm部署一个k8s集群,3个master+1个worker节点。 1. 环境信息 操作系统:ubuntu24.04内存: 2GBCPU: 2网络: 能够互访,能够访问互联网 hostnameip备注k8s-master1192.168.0.51master1k8s-master2192.168.0.52master2k8

Centos7.9使用kubeadm部署K8S 1.27.6集群环境(内网通过代理部署)

Centos7.9使用kubeadm部署K8S 1.27.6集群环境(内网通过代理部署) 在内网借助代理服务器,使用kubeadm部署一个k8s集群,单master+2worker节点,K8S版本为1.7.6,使用containerd作为容器运行时。 1. 环境信息 操作系统:CentOS 7.9.2009内存: 8GBCPU: 4网络: 节点通过代理进行访问。 hostnameip备注k

如何使用k8s安装nexus3呢

百度云盘地址 链接:https://pan.baidu.com/s/1YN1qc2RvzTU3Ba6L_zCTdg?pwd=5z1i 提取码:5z1i 下载后上传到本地服务器 docker load -i nexus3 创建 nexus-deployment.yaml apiVersion: apps/v1kind: Deploymentmetadata:name: nexus3-dep

k8s知识点

Kubernetes中Service、Ingress与Ingress Controller的作用与关系 Service 是对一组提供相同功能的 Pods 的抽象,并为它们提供一个统一的入口。借助 Service,应用可以方便的实现服务发现与负载均衡。Ingress 是反向代理规则,管理外部流量进入集群的方式。用来规定 HTTP/S 请求应该被转发到哪个 Service 上,比如根据请求中不同

K8s持久化存储PV和PVC(通俗易懂)

一、PV和PVC的引入 Volume 提供了非常好的数据持久化方案,不过在可管理性上还有不足。 拿前面 AWS EBS 的例子来说,要使用 Volume,Pod 必须事先知道如下信息: 当前 Volume 来自 AWS EBS。EBS Volume 已经提前创建,并且知道确切的 volume-id。 Pod 通常是由应用的开发人员维护,而 Volume 则通常是由存储系统的管理员维护。开

k8s容器启动不了,一直重启, 报红提示Not Ready

k8s容器启动不了,一直重启, 报红提示Not Ready 反复多次重启后,才能够启动成功。 发现是 启动时间过长,不断达到了失败阈值,于是会不断重启。 将 failureThreshold、 initialDelaySeconds、periodSeconds 这几个参数设置大一些,就可以启动了。 k8s探针类型及探针配置: 详情见: https://blog.csdn.net/sinat

k8s学习(九) 使用metrics-server 进行hpa扩容

Horizontal Pod Autoscaling(Pod水平自动伸缩),简称HPA。HAP通过监控分析RC或者Deployment控制的所有Pod的负载变化情况来确定是否需要调整Pod的副本数量,这是HPA最基本的原理。 当你创建了HPA后,HPA会从metrics-server或者用户自定义的监控获取每一个一个Pod利用率或原始值的平均值,然后和HPA中定义的指标进行对比,同时计算出需要伸

k8s学习(八) 初始化容器 init container

Init Container就是用来做初始化工作的容器,可以是一个或者多个,如果有多个的话,这些容器会按定义的顺序依次执行,只有所有的Init Container执行完后,主容器才会被启动。我们知道一个Pod里面的所有容器是共享数据卷和网络命名空间的,所以Init Container里面产生的数据可以被主容器使用到的。 1、创建init-demo.yaml apiVersion: v1

k8s学习(七) 使用pod健康检查

在Kubernetes集群当中,我们可以通过配置liveness probe(存活探针)和readiness probe(可读性探针)来影响容器的生存周期。 1 kubelet 通过使用 liveness probe 来确定你的应用程序是否正在运行,通俗点将就是是否还活着。一般来说,如果你的程序一旦崩溃了, Kubernetes 就会立刻知道这个程序已经终止了,然后就会重启这个程序。

k8s学习(六) 使用pod hook

Pod Hook 是由 kubelet 发起的,当容器中的进程启动前或者容器中的进程终止之前运行,这是包含在容器的生命周期之中。我们可以同时为 Pod 中的所有容器都配置 hook。 Kubernetes 为我们提供了两种钩子函数: PostStart:这个钩子在容器创建后立即执行。但是,并不能保证钩子将在容器ENTRYPOINT之前运行,因为没有参数传递给处理程序。主要用于资源部署、环境准备等

k8s学习(五) 创建静态pod

静态 Pod 直接由特定节点上的kubelet进程来管理,不通过 master 节点上的apiserver。无法与我们常用的控制器Deployment或者DaemonSet进行关联,它由kubelet进程自己来监控,当pod崩溃时重启该pod,kubelete也无法对他们进行健康检查。静态 pod 始终绑定在某一个kubelet,并且始终运行在同一个节点上。 kubelet会自动为每一个静态 p

k8s学习(四) k8s使用nodeport方式配置service对外暴露服务

Pod是有生命周期的,使用凡人皆有一死来描述pod很贴切,当一个工作节点(node)销毁时,节点上运行的pods也会被销毁, ReplicationController会动态地在其他节点上创建Pod来保持应用程序的运行,每一个Pod都有一个独立的IP地址,甚至是同一个节点上的Pod,可以看出Pod的IP是动态的,它随Pod的创建而创建,随Pod的销毁而消失,这就引出一个问题:如果由一组Pods组

k8s学习(三) k8s集群内部署一个docker应用deployment

1、获取一个springboot 应用jar包 2、将jar包打成docker镜像 Dockerfile如下: FROM java:8-alpineADD docker-hello-world-0.0.1-SNAPSHOT.jar app.jarEXPOSE 8080ENTRYPOINT ["java","-jar", "/app.jar"] 打镜像: docker build

k8s学习(二) k8s集群内安装dashboard

dashboard是k8s官方的UI界面,这个界面能显示所有的工作负载(workload),包括运行的Nodes,Services,Pods,Jobs,Relica sets等k8s资源。 1、 下载 dashboard镜像,并将镜像打入本地镜像服务器 由于墙的原因,与上一篇安装k8s集群一样,先下载镜像,打入本地库 docker pull mirrorgooglecontainers

k8s学习(二十八) k8s部署kuboard

1、获取kuboard.yaml 从网址https://kuboard.cn/install-script/kuboard.yaml下载 apiVersion: apps/v1kind: Deploymentmetadata:name: kuboardnamespace: kube-systemannotations:k8s.eip.work/displayName: kuboardk8s.

k8s学习(三十一)K8s部署Mysql高可用集群

确认安装前已经安装好StorageClass,可参考:https://blog.csdn.net/u011943534/article/details/100887530 1、准备镜像 docker pull mysql:5.7docker save -o mysql-5.7.tar mysql:5.7 将msyql-5.7.tar拷贝至K8s镜像服务器所在的节点 docker load