CrashLoopBackOff 是k8s中常见报错,表明pod在不断重启 常见故障原因: 1.资源不足 2.容器想要使用的文件已被锁定 3.数据库被锁定 4.容器中引用的脚本或程序不存在 5.pod中init-container报错 6.加载config文件报错 7.文件系统配置错误 8.网络故障,如DNS等 排错和解决 1.kubectl desc
[CloudNative:KuberNetes&CI/CD.V36] [Applications.KuberNetes][|DevOps|CICD|Jenkins|Jenkins生产环境和UAT环境流水线设计|]一、在kubernetes下创建nodejs-uat资源### -
命令使用格式: kubectl label nodes 节点名字 node-role.kubernetes.io/ROLES属性名称=或- kubectl label nodes 节点名字 node-role.kubernetes.io/ROLES属性名称=或- 最后面的=号表示在原来ROLES基础上再增加一个,-号就表示删除某个ROLES
[CloudNative:KuberNetes&配置管理.V03] [Applications.KuberNetes][|DevOps|k8s|配置管理|k8s配置管理ConfigMap|]一、从文件值创建configmap### --- 根据文件值创建configmap ~~
[CloudNative:KuberNetes&基础标签.V07] [Applications.KuberNetes][|DevOps|k8s基础|yaml文件详解|yaml实验示例|使用yaml部署容器|]一、使用yaml文件部署容器### --- 使用yaml创
一、储存机密信息 Secret 是 Kubernetes 内的一种资源类型,可以用它来存放一些机密信息(密码,token,密钥等)。信息被存入后,我们可以使用挂载卷的方式挂载进我们的 Pod 内。当然也可以存放docker私有镜像库的登录名和密码,用于拉取私有镜像。 一)Opaque 类型 Opaque 类型一般拿来
[CloudNative:Kubernetes&pod操作.V03] [Applications.CloudNative][controller Deployment概述和应用场景/发布|service概述/三种类型|][controller statefulset部署有状态应用|
Pod是Kubernetes抽象出来表示一组应用容器(比如Docker、rkt),还有这些容器共享的资源。这些资源包括: 共享存储,比如Volumes 网络,比如独立的集群IP地址 如何去运行每个容器的信息,比如容器镜像版本、要使用的端口 Pod塑造出一个应用专用的"逻辑主机",它能包含不同的应用容器(紧密耦
ServiceAccount ServiceAccount是给运行在Pod的程序使用的身份认证,Pod容器的进程需要访问API Server时用的就是ServiceAccount账户。 ServiceAccount仅局限它所在的namespace,每个namespace创建时都会自动创建一个default service account。 创建Pod时,如果没有指定Service Account,P
# kubectl get ns NAME STATUS AGE cloudzone Active 23h default Active 7d23h edgemesh Active 25h edgezone
1.在master节点编写资源清单 [root@master1 yaml]# vim pod-first.yaml 2.上传打包好的docker文件,并解压 [root@node1 ~]# docker load -i xianchao-tomcat.tar.gz 3.kubectl更新资源清单 [root@master1 yaml]# kubectl apply -f pod-first.yaml 4.查看pod情况 [roo
K8S 不能直接删除Pod,直接删除Pod,会被Deployment重启 删除前,必须先删除对应的Deployment 例子: // 查出Pod [root@k8s-master ~]# kubectl get pods NAME READY STATUS RESTARTS AGE nginx-65cbdd8bc4-mpkm4 0/1 ImagePullBackOff 0
通过 YAML 配置文件 部署 Deployment 使用命令(类似 docker-compose) // 部署 kubectl create -f xxx.yml // 删除 kubectl delete -f xxx.yml
emptyDir临时卷 有些应用程序需要额外的存储,但并不关心数据在重启后仍然可用。 例如,缓存服务经常受限于内存大小,将不常用的数据转移到比内存慢、但对总体性能的影响很小的存储中。 再例如,有些应用程序需要以文件形式注入的只读数据,比如配置数据或密钥。 临时卷就是为此类用例设计
我们前面部署的pod调度取决于kube-scheduler,它会根据自己的算法,集群的状态来选择合适的node部署我们的pod。 下面我们来看下如何来根据我们自己的要求,来影响pod的调度。 定向node调度 有时候我们想将pod调度到某一些node上,比如csharp开发的程序,调度到某一些node,java开发的程序调度
常用k8s命令 目前常用k8s命令 get 获取列出一个或多个资源的信息。 get pods 列出所有运行的Pod信息。 kubectl get pods -o wide 列出Pod以及运行Pod节点信息。 kubectl get -o json pod Name 以JSON格式输出一个pod信息。 kubectl get rc,services 列出所有replication con
1、CRI(容器运行时接口) 容器运行时说明文档:https://kubernetes.io/zh/docs/setup/production-environment/container-runtimes/ 开源的CRI有:Docker、CRI-O、Containerd、frakti(基于Hypervisor的容器运行时)。 Kubernetes Node(kubelet)的主要功能就是启动和停止容器的组件(例如Docke
kubectl 版本和集群版本之间的差异必须在一个小版本号内。 例如:v1.23 版本的客户端能与 v1.22、 v1.23 和 v1.24 版本的控制面通信。 用最新兼容版的 kubectl 有助于避免不可预见的问题。 官方文档 https://kubernetes.io/zh/docs/home/ 下载 v1.23.0 版本 curl -LO https://d
[root@docker001 yum.repos.d]# kubectl get pods --all-namespaces The connection to the server localhost:8080 was refused - did you specify the right host or port? [root@docker001 yum.repos.d]# ll /etc/kubernetes/admin.conf -rw------- 1 root root 5450 O
一、基于 Kubernetes/K8S 构建 Jenkins 持续集成平台 服务列表 服务器名称 IP地址 安装的软件 代码托管服务器 192.168.10.10 Gitlab 持续集成服务器 192.168.10.20 Jenkins,Maven,Docker18.06.1-ce slave 192.168.10.110 Jenkins 的 Master-Slave 分布式构建 1、
基于Kubernetes/K8S构建Jenkins持续集成平台(上)-2 Kubernetes实现Master-Slave分布式构建方案 传统Jenkins的Master-Slave方案的缺陷 Master节点发生单点故障时,整个流程都不可用了 每个 Slave节点的配置环境不一样,来完成不同语言的编译打包等操作,但是这些差异化的配置导致管理
步骤: 设置不可调度 kubectl cordon k8snode1 驱逐pod kubectl drain k8snode1 --delete-local-data --ignore-daemonsets 检查pod是否全部驱逐成功 kubectl describe nodes k8snode1 摘除集群 kubectl delete nodes k8snode1
前置命令查看 kind get cluseters kind get nodes helm list k8s control plane(kube-apiserver, kube-schedudler and kube-controller-manager) 基本情况查看确认 kubectl cluster-info kubectl get node kubectl get namespaces kubectl get cs componen
作者简介 万绍远,CNCF 基金会官方认证 Kubernetes CKA&CKS 工程师,云原生解决方案架构师。对 ceph、Openstack、Kubernetes、prometheus 技术和其他云原生相关技术有较深入的研究。参与设计并实施过多个金融、保险、制造业等多个行业 IaaS 和 PaaS 平台设计和应用云原生改造指导。
istio-ingressgateway作为服务访问的最外层,还需要做一些ssl加密的工作,同时又不会影响其它的服务,下面介绍几种实现方法。 文件挂载方式 查看istio-ingressgateway配置中的证书挂载配置 kubectl get deploy/istio-ingressgateway -n istio-system -o yaml apiVersion: apps/v1 ki