升级管理节点: 1、查找最新版本号 yum list --showduplicates kubeadm 2、升级kubeadm yum install -y kubeadm-1.23.0-0 3、驱逐node上的pod,且不可调度 kubectl drain master.lab.example.com --ignore-daemonsets 4、检查集群是否可以升级,并获取可以升级的版本 kubeadm upgrade
一、Ceph简介 官网:https://ceph.com/en/ https://docs.ceph.com/en/latest/start/intro/ ceph 是一种开源的分布式的存储系统 包含以下几种存储类型: 块存储(rbd),对象存储(RADOS Fateway),文件系统(cephfs) 块存储(rbd): 块是一个字节序列(例如,512 字节的数据块)。 基于块
先决条件 1、k8s集群 2、CLI工具(helm,kubectl) 3、Ingress Controller 添加Helm Chart仓库 使用helm repo add命令添加含有 Rancher Chart 的 Helm Chart 仓库。 请将命令中的<CHART_REPO>,替换为latest,stable或alpha。更多信息,请查看选择 Rancher 版本来选择最适合你的仓库。 lates
背景 在部署新的paas平台线上环境时,突发consul和es中间件无法创建。 排查过程 以consul 通过查询k8s集群中pod状态发现原来3pod的consul集群,其中2个pod一直重启。 # kubectl get pods -n paasconsul-propaas 通过describe查看pod信息,发现是liveness失败。 # kubectl describe pods
nfs storageclass 创建pvc pending 使用nfs 作为外部存储,一直启动不起来,查看 pvc 和 pods 信息如下: 1、PVC 一直处于 pending 状态【www-nfs-web-0 Pending k8s-nfs-storage 11s】; 2、 pods 显示 【FailedScheduling】 0/3 nodes are available: 3 pod has unbound immediate Pe
1)新建namespace(名称空间) 新建 wordpress-blog namespace,将应用都部署到wordpress-blog这个命名空间下面。 [23:17:36 root@k8s-master ~]#ll namespace.yaml pod.yml service.yaml -rw-r--r-- 1 root root 64 8月 20 23:17 namespace.yaml -rw-r--r-- 1 root root 1200 8月
一、nfs-server服务端:挂载一块新磁盘1.1、格式化并挂载parted /dev/vdb mklable xfs parted /dev/vdb primay 0% 100% mkfs.xfs /dev/vdb1 echo "/dev/vdb1 /nfs_share xfs defaults 0 0" >> /etc/fstab mount -a 1.2、安装nfs服务apt install nfs-kernel-server -yecho "/nf
安装metrics server Metrics Server是Kubernetes内置的容器资源指标来源。 Metrics Server从node节点上的Kubelet收集资源指标,并通过Metrics API在 Kubernetes apiserver中公开指标数据,以供Horizontal Pod Autoscaler和Vertical Pod Autoscaler使用,
构建nginx资源 创建nginx配置文件 root@deploy:/dockerfile/project/nginx# cat nginx.conf user nginx; worker_processes auto; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx
介绍 DaemonSet 类型的控制器可以保证在集群中的每一台(或指定)节点上都运行一个副本。一般用于日志收集、节点监控等场景。也就是说,如果一个 pod 提供的功能是节点级别的(每个节点都需要且只需要一个),那么这类 pod 就适合使用 DaemonSet 类型的控制器创建 DaemonSet 控制器的特点:
一、DeOps简介 1.什么是DeOps? 1.1 敏捷开发 提高开发效率,及时跟进用户需求,缩短开发周期。 敏捷开发包括编写代码和构建代码两个阶段,可以使用 git 或者 svn 来管理代码,用 maven 对代码 进行构建 1.2 持续集成 持续集成强调开发人员提交了新代码之后,立
正常安装了k8s后,使用kubect 工具后接的命令不能直接tab补全 命令补全方法: yum -y install bash-completionsource /usr/share/bash-completion/bash_completion source <(kubectl completion bash) echo "source <(kubectl completion bash)" >> ~/.bashrc
资源的CRUD: 创建: Service service = client.services().inNamespace(namespace).create(service); 更新: Namespace namespace = client.namespaces().withName(name).get(); //update resources client.namespaces().createOrReplace(namespace); 查询: ServiceList serv
一、K8S的api概览: 在Kubernetes集群中,一个API对象在Etcd里完整资源路径,是由:Group(API组)、Version(API版本)和Resource(API资源类型)三个部分组成的。通过这样的结构,整个 Kubernetes里的所有API对象,实际上就可以用如下的树形结构表示出来 我们也可以用命令来查看API组织形式 ~ k
如果在k8s使用Containerd,而打包工具使用的是buildah,那么可能会遇到无法拉取镜像的问题,yum下载的buildah-1.11.6的版本是没有修复的,而1.11.7或1.19.6等已经修复的版本 Failed to pull image "k8s-registry-vpc.cn-hangzhou.cr.aliyuncs.com/sla/wss:20220812142755": rpc error:
Health Check:由发起者对容器进行周期性检测 dockers health check实现方式: #第一种方式:docker-compose cat <<EOF >docker-compose.yaml version: '3.6' service: nginx-service: image: nginx expose: - 80 - 443 ports: - "80:80"
安装sealer wget https://github.com/sealerio/sealer/releases/download/v0.8.6/sealer-v0.8.6-linux-arm64.tar.gz tar -zxvf sealer-v0.8.6-linux-arm64.tar.gz mv sealer /usr/bin 安装集群(先配置各个节点免密登录) sealer pull kubernetes:v1.19.8-alpine # CNI需要自行安装
作者:学仁 简介 K8s Job 是 Kubernetes 中的一种资源,用来处理短周期的 Pod,相当于一次性任务,跑完就会把 Pod 销毁,不会一直占用资源,可以节省成本,提高资源利用率 阿里任务调度 SchedulerX 和云原生结合,重磅推出可视化 K8s 任务,针对脚本使用者,屏蔽了容器服务的细节,不用构建镜像就可以让
k8s资源对象:StatefulSet和DaemonSet StatefulSet 简介: StatefulSet 是用来管理有状态应用的工作负载 API 对象。 无状态服务(Stateless Service):该服务运行的实例不会在本地存储需要持久化的数据,并且多个实例对于同一个请求响应的结果是完全一致的。 有状态服务(Stateful Service
1.查看可升级的列表 yum list --showduplicates kubeadm --disableexcludes=kubernetes 2.验证升级计划 kubeadm version kubeadm upgrade plan 3.升级 yum install -y kubeadm-1.24.3-0 --disableexcludes=kubernetes kubeadm upgrade apply v1.24.3(输入yes) yum install -y
1, 准备工作,事先准备https登录的Harbor,和k8s集群 2. 修改master节点hosts文件,添加Harbor的域名解析,不加后面会报错 192.168.169.133 harbor.solomon.com 3,修改master节点的docker启动配置文件 参考链接: https://blog.csdn.net/u013201439/article/details/81271182 https:/
1. 同一个pod中多容器挂载同一个卷时提供隔离 2. 将configMap和secret作为文件挂载到容器中而不覆盖挂载目录下的文件 本文主要解释第一点,按照k8s官网的解释,subPath在是挂载卷中的存储目录,不指定默认存储在卷的根目录
calico网络插件安装 官网 #下载operator资源清单文件 [root@k8s-master01 ~]# wget https://docs.projectcalico.org/manifests/tigera-operator.yaml #应用资源清单文件,创建operator [root@k8s-master01 ~]# kubectl apply -f tigera-operator.yaml #3.通过自定义资源方式安装,下
k8s中有kubectl apply -f和kubectl create -f 两种命令来进行资源的创建。 区别在于kubectl create属于Imperative command (命令式): 它明确的告诉 kubectl 要创建某个资源或对象。 而 kubectl apply 是Declarative command(声明式命令),apply并不告诉kubectl具体做什么,而是由kubect
集群内服务 一般 pod 都是根据 service 资源来进行集群内的暴露,因为 k8s 在 pod 启动前就已经给调度节点上的 pod 分配好 ip 地址了,因此我们并不能提前知道提供服务的 pod 的 ip 地址。那么 service 服务提供的功能就是,使用者根本无需关心后端提供服务 pod 的数量,以及各自对应