「 K8S 」 十月 10, 2021

【转】使用Finalizers控制k8s资源删除

文章字数 11k 阅读约需 10 mins.

原文地址:https://www.jianshu.com/p/c46f449d5bf2

文章引用

你有没有在使用k8s...

查看全文

「 K8S 」 十月 10, 2021

【转】使用Finalizers控制k8s资源删除

文章字数 11k 阅读约需 10 mins.

原文地址:https://www.jianshu.com/p/c46f449d5bf2

文章引用

你有没有在使用k8s过程中遇到过这种情况: 通过kubectl delete指令删除一些资源时,一直处于Terminating状态。
这是为什么呢?

本文将介绍当你执行kubectl delete语句时,K8s内部都执行了哪些操作。
以及为何有些资源’删除不掉’(具体表现为一直Terminating,删除namespace...

查看全文

「 K8S 」 九月 25, 2021

【转】如何写一个operator

文章字数 14k 阅读约需 13 mins.

原文地址:https://www.jianshu.com/p/79476712575e

文章源地址请移步writing-a-controller-for-pod-labels

样例代码

operator旨在简化基于k8s部署有状态服务(例如:ceph集群、skywalking集群)

可以利用Operator SDK 构建一个operator,
operator使扩展k8s及实现自定义调度变得更加简单。

尽管Operator SDK 适合构建功能齐全的operator,
但也可以使用它来编写单个控制器...

查看全文

「 K8S 」 八月 01, 2021

Ingress 定制配置

文章字数 9.7k 阅读约需 9 mins.

K8s Ingress、Ingress Controller 和 Ingress Class 中介绍了 Ingress 相关的概念,接下来让我们看看如何对 Ingress 进行更加灵活的配置。

Ingress 的特性至 Kubernetes v1.19 进入了稳定状态,不论使用哪个具体的 Ingress Controller,这些配置都是生效的。

Path types

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: minimal...
查看全文

「 CLOUD NATIVE 」 七月 11, 2021

K8s Ingress、Ingress Controller 和 Ingress Class

文章字数 8.3k 阅读约需 8 mins.

将 k8s 集群中服务暴露给集群外访问,最简单的方式莫过于使用 NodePort,好比在 docker 环境下为容器的服务端口绑定宿主机的端口,定义 NodePort 类型的 Service 后,即可通过集群中任意节点的 IP 加 nodePort 指定的端口访问到 k8s 集群中的服务。

但随着服务的增多,使用 NodePort 访问的问题也会逐渐显现出来:可用作 NodePort 的端口是一个有限的范围、不容易记忆、不好管理……

有没有更优雅的方式访问集群内的服务呢?

可以在集群内部署一个 ...

查看全文

「 CLOUD NATIVE 」 五月 02, 2021

K8s 存储资源回收策略

文章字数 3.4k 阅读约需 3 mins.

在 Volume、PersistentVolume、PersistentVolumeClaim 和 StorageClass 中,我们介绍了 K8s 存储资源的相关概念。持久卷(PersistentVolume)通过卷插件对位于外部基础设施中的存储资产进行操作,并可通过 回收策略,控制持久卷回收时会对外部存储数据产生的影响。

目前支持的回收策略有三种:

  1. Retain:手动创建的 PV 所使用的默认回收策略。此策略使得用户可以手动回收资源,当使用 PV 的对象被删除时,PV 仍然存在,对应的数据...
查看全文

「 CLOUD NATIVE 」 四月 18, 2021

Volume、PersistentVolume、PersistentVolumeClaim 和 StorageClass

文章字数 6k 阅读约需 5 mins.

K8s 中的 卷,是指包含可被 Pod 中容器访问的数据的目录。

Docker 也有 卷(Volume) 的概念,但对它只有少量且松散的管理。 Docker 卷是磁盘上或者另外一个容器内的一个目录。 Docker 提供卷驱动程序,但是其功能非常有限。

K8s 支持 很多类型的卷,比如:cephfs、configMap、emptyDir、hostPath、local、nfs、persistentVolumeClaim 等等。Pod 可以同时使用任意数目的多种类型的卷。所采用的特定的卷类型将决定该目...

查看全文

「 K8S 」 一月 31, 2021

K8s subPath

文章字数 2.4k 阅读约需 2 mins.

在 K8s 中,VolumeMount 是用来挂载定义好的存储卷的。

其中有个属性 subPath 是这样描述的:

Field Description
subPath
string
Path within the volume from which the container’s volume should be mounted. Defaults to “” (volume’s root).

subPath 所定义的路径,指的是 卷(Volume)内的子路径,用于将卷内 subPath...

查看全文

「 K8S 」 十一月 22, 2020

K8s ConfigMap

文章字数 8.2k 阅读约需 7 mins.

在 k8s 集群中部署第一个应用 中,完成了一个基本的 NGINX 服务的部署,但在真实环境中使用 NGINX 时,一般都需要定制其配置文件,使满足实际代理需求。K8s 提供了一个 ConfigMap 的概念,允许将配置文件与镜像文件分离,以使容器化的应用程序具有可移植性。

可以按字面方式,将 ConfigMap,理解为一个 Config 的 Map:

  • Map 的 Key 为配置标识,可以是文件名等
  • Map 的 Value 为配置内容,可以是字符串、文本内容等

一个 ConfigMap 中可...

查看全文

「 K8S 」 十一月 15, 2020

K8s 命名空间

文章字数 2.7k 阅读约需 2 mins.

Kubernetes 支持在一个物理集群上划分多个虚拟集群,这些虚拟集群即 命名空间。

  • 在同一个命名空间中,资源名称须保持唯一。但在不同命名空间中,可以存在相同名称的资源。
  • 每一个资源只能隶属于一个命名空间。
  • 但命名空间本身不能属于另一个命名空间。

可以通过如下命令查看哪些资源在或不在命名空间中:

# In a namespace
$ kubectl api-resources --namespaced=true

# Not in a namespace
$ kubectl api-resources...
查看全文

「 K8S 」 十一月 08, 2020

在 Mac 的 Docker Desktop 中运行 K8s

文章字数 8.8k 阅读约需 8 mins.

Docker Desktop for Mac 从 Docker Community Edition 18.06.0-ce-mac70 2018-07-25 版本起,添加了对 Kubernetes 的支持,可以方便的在 Mac 上运行一个单节点的 K8s 集群。

在 Docker Desktop 的 Preferences 中的 Kubernetes 页面里,提供了一个 Enable Kubernetes 选框,点击之后即可在 Mac 上启动 K8s。

然而点击之后,就没有然后了,一直是下图这个状...

查看全文
加载更多
0%