K8s_Finalizers

起因 在我们日常使用 k8s 中,可能会遇到这样的情况:在删除 namespace 时,往往会遇到资源没有被删除的情况,资源处于 terminating 的状态,这时我们该如何解决了,寻找到的解决方法往往是如下: 1 运行以下命令查看处于 terminating 状态的资源(这里以namespace 为例): kubectl get namespaces 2 选择一个Terminating namespace,并查看namespace 中的finalizer。运行以下命令: kubectl get namespace <terminating-namespace> -o yaml 得到类似这样的信息: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 apiVersion: v1 kind: Namespace metadata: creationTimestamp: "2021-01-20T15:18:06Z" deletionTimestamp: "2021-01-21T02:50:02Z" name: <terminating-namespace> resourceVersion: "3249493" selfLink: /api/v1/namespaces/knative-eventing uid: f300ea38-c8c2-4653-b432-b66103e412db spec: finalizers: - kubernetes status: phase: Terminating 3 导出json格式到tmp.json: kubectl get namespace <terminating-namespace> -o json > tmp....

January 23, 2022 · 1 min · overstarry

Kubernetes安装APISIX

今天介绍如何在 k8s 上安装 APISIX 相关组件(Apache APISIX、Apache APISIX Dashboard、Apache APISIX Ingress Controller)。 Apache APISIX 由于 APISIX helm 组件将相关组件集合在一起了,所以只要装一个就好了。 安装步骤 前提 要创建好相应的 PV . 命令 1 2 3 helm repo add apisix https://charts.apiseven.com helm repo update helm install apisix apisix/apisix --set gateway.type=NodePort --set ingress-controller.enabled=true --set dashboard.enabled=true --set etcd.volumePermissions.enabled=true --namespace ingress-apisix 如果看到如下信息并且执行 kubectl get pods -n ingress-apisix 就表示 apisix 安装成功。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 NNAME: apisix LAST DEPLOYED: Wed Oct 27 03:00:23 2021 NAMESPACE: default STATUS: deployed REVISION: 1 TEST SUITE: None NOTES: 1....

October 27, 2021 · 1 min · overstarry

设置Rancher服务器的本地Kubernetes集群

本篇文章介绍如何在 k8s集群上安装rancher。 前提 需要安装 kubectl 和 helm。 安装 Rancher Helm Chart 添加 helm chart 仓库 使用 helm repo add rancher-<CHART_REPO> https://releases.rancher.com/server-charts/<CHART_REPO> 添加 helm 仓库。 请将命令中的<CHART_REPO>,替换为latest,stable或alpha。更多信息,请查看选择 Rancher 版本来选择最适合您的仓库。 latest: 建议在尝试新功能时使用。 stable: 建议在生产环境中使用。(推荐) alpha: 未来版本的实验性预览。 创建Namespace 创建一个名为 cattle-system 的Namespace。 1 kubectl create namespace cattle-system 安装 cert-manager 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 # 如果你手动安装了CRD,而不是在Helm安装命令中添加了`--set installCRDs=true`选项,你应该在升级Helm chart之前升级CRD资源。 kubectl apply -f https://github.com/jetstack/cert-manager/releases/download/v1.5.1/cert-manager.crds.yaml # 添加 Jetstack Helm 仓库 helm repo add jetstack https://charts....

October 26, 2021 · 1 min · overstarry

使用sealos部署Kubernetes集群

今天介绍使用 sealos 一键部署 Kubernetes 集群, sealos 是只能用丝滑一词形容的kubernetes高可用安装(kubernetes install)工具,一条命令,离线安装,包含所有依赖,内核负载不依赖haproxy keepalived,纯golang开发,99年证书,支持v1.20.0 v1.19.5 v1.18.13 v1.17.15! sealos 支持的环境 Linux 发行版, CPU架构 Debian 9+, x86_64/ arm64 Ubuntu 16.04, 18.04, 20.04, x86_64/ arm64 Centos/RHEL 7.6+, x86_64/ arm64 其他支持 systemd 的系统环境. x86_64/ arm64 Kylin arm64 kubernetes 版本 1.16+ 1.17+ 1.18+ 1.19+ 1.20+ 1.21+ 1.22+ 要求和建议 最低资源要求 2 vCpu 4G Ram 40G+ 存储 操作系统要求 ssh 可以访问各安装节点 各节点主机名不相同,并满足kubernetes的主机名要求。 各节点时间同步 网卡名称如果是不常见的,建议修改成规范的网卡名称, 如(eth.|en.|em.*) kubernetes1.20+ 使用containerd作为cri. 不需要用户安装docker/containerd. sealos会安装1.3.9版本containerd。 kubernetes1.19及以下 使用docker作为cri。 也不需要用户安装docker。 sealos会安装1.19.03版本docker 网络和 DNS 要求:...

October 26, 2021 · 1 min · overstarry