随笔分类 - K8S
摘要:概念 Krew是kubectl插件的包管理工具。借助Krew,可以轻松地使用kubectl plugin:发现插件、安装和管理插件。使用类似apt、dnf或者brew。 对于kubectl用户:krew能帮助用户搜索、安装和管理kubectl插件; 对于插件开发者:krew可以帮助你在多种平台上打包
阅读全文
摘要:容器的持久化存储 容器的持久化存储是保存容器存储状态的重要手段,存储插件会在容器里挂载一个基于网络或者其他机制的远程数据卷,使得在容器里创建的文件,实际上是保存在远程存储服务器上,或者以分布式的方式保存在多个节点上,而与当前宿主机没有任何绑定关系。这样,无论你在其他哪个宿主机上启动新的容器,都可以请
阅读全文
摘要:情况详细描述; k8s集群,一台master,两台worker 在master节点上部署一个单节点的nacos,导致master节点状态不在线(不论是否修改nacos的默认端口号都会导致master节点不在线)。 但是在worker节点上就可以。 报错信息如下: Message from syslo
阅读全文
摘要:单个pod # kubectl exec redis-pod-0 -n cluster-redis -- hostname -f redis-pod-0.redis-cluster-service.cluster-redis.svc.cluster.local 多个pod(StatefulSet类型
阅读全文
摘要:注意:第二步不用操作了,yaml文件仅供参考 1.创建Namespace kubectl apply -f Namespace.yaml apiVersion: v1 kind: Namespace metadata: name: cluster-redis 2.创建PersistentVolume
阅读全文
摘要:状态查询 # 查看集群信息 # kubectl cluster-info Kubernetes control plane is running at https://127.0.0.1:8443 KubeDNS is running at https://127.0.0.1:8443/api/v1
阅读全文
摘要:网络策略(NetworkPolicy)是一种关于pod间及pod与其他网络端点间所允许的通信规则的规范。NetworkPolicy 资源使用标签选择pod,并定义选定pod所允许的通信规则。 前提 网络策略通过网络插件来实现,所以用户必须使用支持 NetworkPolicy 的网络解决方案 - 简单
阅读全文
摘要:示例Pod 的配置文件 envars.yaml Copy envars.yaml to clipboard apiVersion: v1 kind: Pod metadata: name: envar-demo labels: purpose: demonstrate-envars spec: co
阅读全文
摘要:Kubernetes支持预启动和预结束事件。 Kubernetes在容器启动的时候发送预启动事件,在容器结束的时候发送预结束事件。 定义预启动和预结束事件操作 下面是Pod的配置文件: # cat lifecycle-events.yaml apiVersion: v1 kind: Pod meta
阅读全文
摘要:Downward API 有两种方式可以将 Pod 和 Container 字段呈现给运行中的容器: 环境变量 卷文件 这两种呈现 Pod 和 Container 字段的方式统称为 Downward API。 使用环境变量的方式 用 Pod 字段作为环境变量的值 Pod 的配置文件 cat test
阅读全文
摘要:创建 Pod 时设置命令及参数 创建 Pod 时,可以为其下的容器设置启动时要执行的命令及其参数。如果要设置命令,就填写在配置文件的 command 字段下,如果要设置命令的参数,就填写在配置文件的 args 字段下。一旦 Pod 创建完成,该命令及其参数就无法再进行更改了。 如果在配置文件中设置了
阅读全文
摘要:在硬件升级、硬件维护等情况下,我们需要将某些Node进行隔离,脱离Kubernetes集群的调度范围。Kubernetes提供了一种机制,即可以将Node纳入调度范围,也可以将Node脱离调度范围。 使用配置文件的方式 创建配置文件unschedule_node.yaml,在spec部分指定unsc
阅读全文
摘要:由于官网未开放同步方式, 可能会有索引gpg检查失败的情况, 这时请用 yum install -y --nogpgcheck kubelet kubeadm kubectl 安装 Debian / Ubuntu apt-get update && apt-get install -y apt-tr
阅读全文
摘要:除了 kubectl describe pod 以外,另一种获取 Pod 额外信息(除了 kubectl get pod)的方法 是给 kubectl get pod 增加 -o yaml 输出格式参数。 该命令将以 YAML 格式为你提供比 kubectl describe pod 更多的信息 —
阅读全文
摘要:apiVersion: apps/v1 #与k8s集群版本有关,使用 kubectl api-versions 即可查看当前集群支持的版本 kind: Deployment #该配置的类型,我们使用的是 Deployment metadata: #译名为元数据,即 Deployment 的一些基本属
阅读全文
摘要:1.批量执行yaml文件 # 把所有要执行的yaml文件放在同一个目录下,并且切换到这个目录下 kubectl apply -f . 2.利用pod的亲和和反亲和功能把pod调度到不同的node上 亲和(affinity)和 反亲和(anti-affinity) Pod之间亲和和反亲和,你可以通过已
阅读全文
摘要:参考网址:https://www.bejson.com (网站文件部分有坑,需要擦亮眼睛) nginx k8s版本:v1.20 apiVersion: apps/v1 kind: Deployment metadata: name: my-nginx namespace: test spec: re
阅读全文
摘要:yaml文件中个别数值有大写,报错信息如下 : The Deployment "my-nginx" is invalid: spec.template.spec.volumes[0].name: Invalid value: "myEmptyDir": a lowercase RFC 1123 la
阅读全文