K8S架构师全套教程

K8S架构师大纲

  • 以下是完整的Kubernetes架构师课程教学大纲,包括实验和参考资料:
    • 一.Kubernetes技术介绍
      • 1.Kubernetes 简介和历史
      • 2.Kubernetes 优点和适用场景
      • 3.Kubernetes 组件介绍
      • 4.实验:使用 Minikube 安装 Kubernetes 集群
          • 1.安装docker
          • 2.下载minikube
          • 3.下载kubectl
          • 4.启动minikube
          • 5.查看集群状态
          • 6.安装kubectl
          • 7.部署dashboard
          • 8.使用service访问dashboard
    • 二.使用 kubectl 命令行工具
      • 部署应用程序
      • 1.管理 Pod 和容器
      • 2.缩放应用程序
          • a.创建一个Deployment
          • b.创建一个Service
          • c.创建一个HPA
          • d.测试自动扩展
          • e.监视自动扩展
    • 三.Kubernetes高级操作
      • 1.使用命名空间进行资源隔离
          • a.查看Kubernetes中的命名空间列表:
          • b.可以使用以下命令创建一个新的命名空间:
          • c.指定创建对象的命名空间
      • 2.使用标签进行资源选取
      • 3.使用配置文件进行应用程序部署
      • 4.使用控制器进行应用程序管理
      • 5.使用服务进行应用程序访问
          • 1.k8s应用程序访问
          • 2.具体的(service)服务类型
          • 3.k8s负载均衡实现
    • 四.Kubernetes 网络模型
          • 1.Kubernetes 网络模型
          • 2.网络隔离和网络访问控制
            • a、使用 Service 实现服务发现
            • b,使用 Ingress 实现负载均衡
            • c.使用 DNS 进行服务发现
    • 五.Kubernetes 存储模型
          • 1.Kubernetes存储类型
          • 2.Kubernetes持久化存储实现
            • a.配置持久化存储
            • b.创建PersistentVolume
            • c.创建PersistentVolumeClaim
            • d.将PersistentVolumeClaim挂载到Pod中
            • e.访问持久化数据
            • f.PV与PVC的区别
          • 3.使用 StorageClass 管理存储类型
            • a.配置StorageClass
            • b.创建 PersistentVolumeClaim
            • c.动态创建 PersistentVolume
    • 六.Kubernetes 安全模型
          • 1.身份认证(Authentication)
            • a.我来举例子介绍下 Kubernetes 支持的一些身份认证方式:
            • b.一个简单的基于证书的身份认证实验,让您更好地了解 Kubernetes 的身份认证方式。
            • c.一个简单的基于证书的身份认证实验,让您更好地了解 Kubernetes 的身份认证方式。
          • 2.容器隔离
          • 3.访问控制(Authorization)
          • 4.网络隔离(Network Isolation)
          • 5.加密(Encryption)
          • 6.安全审计(Security Audit)
          • 7.安全更新和漏洞修复
    • 七.Kubernetes 整体架构
          • 1.Kubernetes 集群配置和优化
            • Kubernetes集群的配置通常包括以下几个方面:
            • Kubernetes集群优化资源管理
          • 2应用程序容器化
            • a.编写Dockerfile
            • b.构建Docker镜像
            • c.推送Docker镜像
            • d.创建Kubernetes部署文件
            • e.部署应用程序
          • 3.实验:使用 Helm 部署应用程序、使用 ConfigMap 和 Secret 管理配置信息
    • 八.Kubernetes应用程序设计原则
          • 1.使用 Sidecar 进行应用程序拓展
            • a.创建主容器和Sidecar容器
            • b.容器之间共享日志目录
            • c.Sidecar容器收集日志并发送
          • 2.使用 Operator进行应用程序拓展
            • a.创建CRD
            • b.使用kubectl apply命令或者apply命令的YAML文件来创建CRD定义:
            • c.创建Operator
            • d.创建自定义资源
    • 九.自定义 Kubernetes API
    • 十.Kubernetes 监控架构
          • 1.使用 Prometheus 进行监控
          • 2.使用 ELK 进行日志收集和分析
    • 十一.Kubernetes 运维流程和工具
          • 使用 Helm 进行应用程序管理
    • 十二.Kubernetes 最佳实践概述
          • 1.安全最佳实践
          • 2.网络最佳实践
          • 3.存储最佳实践
          • 4.应用程序设计最佳实践
    • 十三.使用 Kubernetes 部署和管理实际应用程序
          • 1.使用 Kubernetes 部署和管理WordPress
          • 2.用 Kubernetes 部署和管理MySQL
          • 3.用 Kubernetes 部署和管理Redis

以下是完整的Kubernetes架构师课程教学大纲,包括实验和参考资料:

一.Kubernetes技术介绍

1.Kubernetes 简介和历史

Kubernetes(简称 K8s)是一个开源的容器编排管理平台,用于自动化部署、扩展和管理容器化应用程序。它最初由 Google 设计和开发,并于2014年发布,目的是帮助开发人员和运维人员更轻松地部署、管理和扩展应用程序。Kubernetes 基于 Docker 技术,可以支持多种容器运行时,并提供了丰富的 API 和工具集,使得在 Kubernetes 上开发、部署和管理容器化应用程序变得更加简单和高效。

2.Kubernetes 优点和适用场景

Kubernetes 具有以下优点:

  • 自动化管理:Kubernetes 可以自动化地管理容器化应用程序的部署、扩展、升级、恢复和监视等操作,从而减少了人工干预和管理的成本和风险。
  • 可移植性:Kubernetes 支持多种容器运行时,并提供了统一的 API 和工具集,使得在不同的云平台和本地环境中部署和管理应用程序变得更加容易和便捷。
  • 可扩展性:Kubernetes 支持水平扩展和垂直扩展,可以根据应用程序的负载和需求动态地调整资源的分配和使用。
  • 高可用性:Kubernetes 支持容器的自动恢复和故障转移,可以确保应用程序的高可用性和稳定性。

Kubernetes 适用于以下场景:

  • 微服务架构:Kubernetes 可以支持多个微服务的部署和管理,从而使得应用程序更加易于拆分、扩展和维护。

  • 多云环境:Kubernetes 可以在多个云平台和本地环境中运行,使得应用程序更加容易实现云原生架构和跨云部署。

  • 大规模应用:Kubernetes 可以支持大规模应用程序的部署和管理,从而提高应用程序的可靠性和性能。

3.Kubernetes 组件介绍

Kubernetes 由以下几个核心组件组成:

  • API Server:提供 Kubernetes API,用于管理和操作 Kubernetes 中的资源对象。
  • Etcd:Kubernetes 集群的数据存储和分发系统,用于存储集群的状态和配置信息。
  • Scheduler:根据资源的需求和可用性,自动地将 Pod 调度到合适的节点上。
  • Controller Manager:负责运行和管理 Kubernetes 中的控制器,如 Replication
    Controller、Namespace Controller 等。
  • Kubelet:在每个节点上运行,用于管理和控制节点上的 Pod。
  • Container Runtime:用于运行容器的运行时,如 Docker、rkt 等。
  • Service:抽象和封装了一组 Pod,为应用程序提供稳定的服务 IP 和 DNS 名称。
  • Volume:提供了容器级别的持久化存储,可以将数据存储在节点上的本地磁盘、网络磁盘或云存储中。
    -K8S架构师全套教程_第1张图片

4.实验:使用 Minikube 安装 Kubernetes 集群

基于minikube快速搭建kubernetes单节点环境
官方文档:https://kubernetes.io/zh-cn/docs/tutorials/hello-minikube/

安装minikube和kubectl以及依赖工具
K8S架构师全套教程_第2张图片

K8S架构师全套教程_第3张图片
从 Minikube 的架构中可以看出 master 节点与其它节点合为一体,而整体则通过宿主机上的 kubectl 进行管理,这样可以更加 节省资源。

1.安装docker

小脚本一键安装yum源,docker,配置镜像加速,安装docker-compose。

#安装yum源
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo && yum clean all &&yum makecache && yum -y install lrzsz
#安装docker
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine && yum install -y yum-utils && sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo && yum makecache fast && yum install docker-ce docker-ce-cli containerd.io 
#配置镜像加速
sudo mkdir -p /etc/docker && sudo tee /etc/docker/daemon.json <<-'EOF'
{
   
  "registry-mirrors": ["https://lmsabin0.mirror.aliyuncs.com"],

  "registry-mirrors":["https://reg-mirror.qiniu.com/"]
}
EOF
#启动docker
sudo systemctl daemon-reload && sudo systemctl start docker

#安装docker-compose并启动
sudo curl -L "https://get.daocloud.io/docker/compose/releases/download/1.27.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
2.下载minikube

操作 minikube 需要一个具有 root 权限的用户(非root)
并且需要将该用户添加进入 docker 用户组
创建新用户并设置密码

  • useradd testuser
  • passwd testuser

添加该用户至 docker 用户组:

  • sudo gpasswd -a 用户名 docker

更新 docker 用户组:

  • newgrp docker

切换新创建的用户来操作 minikube,我这里创建的用户为testuser

curl -LO  https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64 
sudo install minikube-linux-amd64 /usr/local/bin/minikube

下载minikube的最新版本并安装到/usr/local/bin目录中。minikube是一个用于在本地运行Kubernetes的工具,是搭建Kubernetes集群的必要工具之一。

3.下载kubectl
curl -LO https://storage.googleapis.com/kubernetes-release/release/`curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt`/bin/linux/amd64/kubectl
chmod +x ./kubectl`
sudo mv ./kubectl /usr/local/bin/kubectl

下载kubectl的最新版本并安装到/usr/local/bin目录中。kubectl是Kubernetes的命令行工具,用于与Kubernetes API进行交互。
参考:https://minikube.sigs.k8s.io/docs/start/

4.启动minikube
minikube start --image-mirror-country='cn' --kubernetes-version=v1.23.8

image-mirror-country 为指定使用国内源
kubernetes-version 指定部署的版本(最新版兼容性坑比较多,所以选择低版本)

查看状态

[testuser@895v7hehi4cexhft ~]$ minikube status
minikube
type: Control Plane
host: Running
kubelet: Running
apiserver: Running
kubeconfig: Configured
5.查看集群状态

可直接使用 minikube 自带的 kubectl 命令。

获取集群所有节点(机器):

minikube kubectl get nodes
获取集群所有命名空间:

minikube kubectl get namespaces
查看集群所有 Pod:

minikube kubectl – get pods -A

6.安装kubectl

由于 minikube 内置的 kubectl 命令功能不全,所以最好独立安装一个 kubectl

用以下命令下载最新发行版:

curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"

安装 kubectl:

sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl

查看版本的详细信息:

kubectl version --client --output=yaml
7.部署dashboard
minikube dashboard

部署dashboard到集群中。dashboard是一个Web界面,用于方便地管理和监控Kubernetes集群中的资源。

集群外部想要直接访问 dashboard 还需要设置代理才能访问,执行以下命令:

 kubectl proxy --port=8001 --address='10.0.3.170' --accept-hosts='^.*' &
--port 需要暴露的端口号
--address 服务器外网IP(宿主机IP),云服务器私网IP(非公网)

--accept-hosts 外部访问服务器的IP(白名单)云主机记得开放安全组规则允许外部访问

这样就可以在浏览器上通过以下地址访问 Kubernetes Dashboard:
http://120.39.219.10:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/persistentvolume?namespace=default

120.39.219.10:8001(云服务器服务器公网IP)
K8S架构师全套教程_第4张图片

到此就能够访问dashboard资源了。但是这种方式不适合生产环境。

这种暴露方式是通过在本地启动一个 kubectl 的代理服务,将对 Kubernetes 集群的 API Server 的请求转发到本地,以方便进行调试和测试。与其他暴露方式相比,具有以下不同点:

  • 基于 kubectl:这种方式是基于 kubectl 命令行工具实现的,而其他方式(如 NodePort、LoadBalancer 或Ingress 等)是通过 Kubernetes 集群中的 Service 资源对象实现的。相比其他方式,这种方式更为简单,不需要在Kubernetes 集群中创建任何资源对象,只需要在本地安装 kubectl 工具即可。
  • 只能在本地访问:由于代理服务只监听在本地的端口上,因此只能在本地访问Kubernetes 集群中的资源对象,无法通过外部 IP地址或域名访问。相比其他方式(如 NodePort、LoadBalancer 或 Ingress 等),这种方式的安全性更高,不会将Kubernetes 集群中的资源对象直接暴露到外网上,但同时也限制了访问的范围。如果你的云服务器已经开启了公网 IP 并且配置了安全组规则允许外部访问,那么 kubectl proxy 命令启动的代理服务也可以被外部访问到。
  • 不适用于生产环境:这种方式只适用于开发和测试环境,不适用于生产环境。在生产环境中,需要使用其他方式将 Kubernetes集群中的资源对象暴露给外部访问,如 NodePort、LoadBalancer 或 Ingress等。这些方式具有更高的可用性、可伸缩性和安全性,可以满足生产环境的需求。

综上所述,这种暴露方式相比其他方式更为简单和安全,但只适用于开发和测试环境,不适用于生产环境。在选择暴露方式时,需要根据实际需求和环境特点进行综合考虑。

查看dashboard资源

sudo kubectl get services --namespace kubernetes-dashboard

NAME                        TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)    AGE
dashboard-metrics-scraper   ClusterIP   10.109.205.86           8000/TCP   18h
kubernetes-dashboard        ClusterIP   10.109.133.78           80/TCP     18h

获取dashboard的服务地址和端口号。这个命令用于获取dashboard的访问地址,以便进入dashboard界面。
这是 Kubernetes Dashboard 和 Metrics Scraper 在集群中的 Service 资源对象信息。其中:

  • Kubernetes Dashboard 是 Kubernetes 官方提供的一个 Web 界面,用于管理 Kubernetes
    集群中的各种资源对象,如 Pod、Service、ReplicaSet 等。在 Kubernetes 集群中,部署了 Kubernetes
    Dashboard 后,用户可以通过浏览器访问该 Web 界面,查看和管理 Kubernetes 集群中的资源对象。
  • Metrics Scraper 是 Kubernetes Dashboard 中的一个组件,用于从 Kubernetes API
    Server 中获取各种资源对象的监控数据,并将数据转换为 Prometheus 的格式,以方便 Prometheus 进行采集和分析。在Kubernetes 集群中,部署了 Metrics Scraper 后,Prometheus 可以从 Metrics Scraper 的Service 中获取资源对象的监控数据,进行实时监控和告警。

上面的输出中,两个资源对象都是 ClusterIP 类型的 Service,表示 Kubernetes Dashboard 和 Metrics Scraper 都是内部 Service,只在 Kubernetes 集群内部可用。其中:

  • Kubernetes Dashboard 的 Service IP 地址是 10.109.133.78,它暴露了 HTTP 端口
    80,用于提供 Kubernetes Dashboard 的 Web 服务。
  • Metrics Scraper 的 Service IP 地址是 10.109.205.86,它暴露了 HTTP 端口 8000,用于提供Prometheus 可以访问的监控数据。

需要注意的是,上面的输出中,Service 的 external-ip 字段为 ,表示该 Service 没有指定外部 IP 地址,只能在 Kubernetes 集群内部访问。如果需要让外部可以访问该 Service,需要将其暴露为外部 Service,如 NodePort、LoadBalancer 或 Ingress 等类型的 Service。

8.使用service访问dashboard

要让外部可以访问 Kubernetes Dashboard,需要将 Kubernetes Dashboard 通过公网 IP 地址和端口号暴露出来。可以使用 NodePort 类型的 Service 将 Kubernetes Dashboard 暴露在公网 IP 地址上,然后通过浏览器访问公网 IP 地址和端口号即可。

以下是使用 NodePort 类型的 Service 暴露 Kubernetes Dashboard 的步骤:

部署 Kubernetes Dashboard。
在 Kubernetes 集群中部署 Kubernetes Dashboard,可以使用以下命令完成:

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.2.0/aio/deploy/recommended.yaml
这将在 Kubernetes 集群中创建一个名为 kubernetes-dashboard 的 Deployment 和一个名为 kubernetes-dashboard 的 Service。默认情况下,Service 的类型为 ClusterIP,只能在 Kubernetes 集群内部访问。

创建 NodePort 类型的 Service。
要将 Kubernetes Dashboard 暴露到外部,需要创建一个 NodePort 类型的 Service。可以使用以下命令创建一个名为 kubernetes-dashboard-nodeport 的 Service:

kubectl expose deployment kubernetes-dashboard --type=NodePort --name=kubernetes-dashboard-nodeport --port=80 --target-port=8443
这将在默认命名空间中创建一个名为 kubernetes-dashboard-nodeport 的 NodePort 类型的 Service。该 Service 将 Kubernetes Dashboard 的 8443 端口映射到一个随机的端口上,可以通过该端口在浏览器中访问 Kubernetes Dashboard。

获取 Service 的 NodePort 端口号和公网 IP 地址。
使用以下命令获取 Service 的 NodePort 端口号和公网 IP 地址:

kubectl get svc kubernetes-dashboard-nodeport
该命令将显示 kubernetes-dashboard-nodeport Service 的详细信息,包括其 NodePort 端口号和公网 IP 地址。

在浏览器中访问 Kubernetes Dashboard。
使用浏览器打开以下 URL,将其替换为 Kubernetes Dashboard 的公网 IP 地址和 NodePort 端口号:

https://<公网 IP 地址>:
这将打开 Kubernetes Dashboard 的登录页面,在该页面中输入相应的账号和密码,即可登录并访问 Kubernetes Dashboard。

需要注意的是,使用 NodePort 类型的 Service 暴露 Kubernetes Dashboard 可能存在安全风险,因为这会将 Kubernetes Dashboard 直接暴露到集群外部。在生产环境中,建议使用更加安全和专业的 Ingress 控制器来暴露 Kubernetes Dashboard。同时还要注意保护 Kubernetes Dashboard 的访问权限,只允许授权的用户或者 IP 地址访问。

这样,就可以使用公网IP地址访问Kubernetes集群中的Dashboard了。需要注意的是,在使用NodePort暴露Service可能会存在一些安全风险。因此,在使用NodePort时,请务必做好安全设置。一种更安全的方法是使用LoadBalancer类型的Service,这种类型的Service可以使用云平台提供的负载均衡器,而不需要直接暴露NodePort端口。
参考资料:

Kubernetes 官方文档(https://kubernetes.io/docs/home/)
《Kubernetes in Action》一书(作者:Marko Luksa)
Minikube 官方文档(https://minikube.sigs.k8s.io/docs/start/)
Kubernetes基础操作

二.使用 kubectl 命令行工具

部署应用程序

1.管理 Pod 和容器

在Kubernetes上,可以使用kubectl命令行工具来管理Pod和容器。以下是一些常用的kubectl命令:

kubectl get pods:获取集群中所有Pod的状态信息。
kubectl describe pod (pod-name):获取指定Pod的详细信息。
kubectl logs (pod-name):获取指定Pod的日志信息。
kubectl exec -it (pod-name) /bin/bash:进入指定Pod的容器内部的bash shell。
kubectl delete pod (pod-name):删除指定Pod。
此外,还可以使用YAML文件来定义Pod和容器的配置。可以使用kubectl apply -f 命令来应用这些配置文件。例如:

# my-pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: my-pod
spec:
  containers:
    - name: my-container
      image: ubuntu:latest
      command: ["sleep", "3600"]

应用配置文件

kubectl apply -f my-pod.yaml

这个配置文件定义了一个名为my-pod的Pod,其中包含一个名为my-container的容器,使用ubuntu:latest镜像,并运行sleep命令。使用kubectl apply -f命令将这个配置文件应用到Kubernetes集群中,即可创建相应的Pod和容器。

2.缩放应用程序

  • 水平扩展:

在Kubernetes上,可以通过水平扩展来缩放应用程序。水平扩展可以根据应用程序的负载自动增加或减少Pod的数量,以满足应用程序的需求。

可以使用kubectl scale命令来进行水平扩展。例如,要将一个名为my-deployment的Deployment的Pod数量扩展到3个,可以使用以下命令:

kubectl scale deployment my-deployment --replicas=3

这个命令将my-deployment的Pod数量扩展到3个。如果要缩减Pod数量,可以将–replicas选项的值设置为更小的值。

  • 动态调整:

此外,还可以使用自动扩展来根据应用程序的负载动态地调整Pod数量。可以使用Horizontal Pod Autoscaler(HPA)来配置自动扩展。HPA会监控Deployment或Replication Controller的CPU利用率或其他自定义指标,并根据配置的规则来自动扩展或缩减Pod数量。

当应用程序的负载增加时,可以使用HPA自动扩展Kubernetes Pod的数量。以下是一个使用HPA自动扩展的示例实验:

a.创建一个Deployment

在Kubernetes中,Deployment是一种控制器,用于管理Pod的副本数量和更新策略。首先,我们需要创建一个Deployment,例如:

kubectl create deployment php-apache --image=k8s.gcr.io/hpa-example

这个命令将创建一个名为php-apache的Deployment,使用k8s.gcr.io/hpa-example镜像。

b.创建一个Service

在Kubernetes中,Service用于暴露Pod的网络端口。如果要从外部访问Pod,需要创建一个Service。例如:

kubectl expose deployment php-apache --port=80 --target-port=80 --type=NodePort

这个命令将创建一个名为php-apache的Service,将本地端口80映射到Pod的端口80上。

c.创建一个HPA

下面我们将创建一个HPA,用于自动扩展Pod的数量。可以使用以下命令创建一个名为php-apache-hpa的HPA:

kubectl autoscale deployment php-apache --cpu-percent=50 --min=1 --max=10

这个命令将创建一个HPA,根据CPU利用率自动调整Pod的数量。如果CPU利用率超过50%,HPA将自动扩展Pod的数量,但不会超过10个。最小Pod数量为1。

d.测试自动扩展

现在,我们可以模拟应用程序负载来测试自动扩展功能。可以使用以下命令启动一个负载测试:

kubectl run -i --tty load-generator --image=busybox /bin/sh

然后,在控制台中使用以下命令模拟负载:

while true; do wget -q -O- http://php-apache.default.svc.cluster.local; done

这个命令会不断地从Service中访问Pod,模拟负载。

e.监视自动扩展

可以使用以下命令来监视自动扩展的情况:

kubectl get hpa
kubectl describe hpa php-apache-hpa

第一个命令将显示HPA的概览信息,包括目标Deployment、CPU利用率和当前Pod数量等信息。第二个命令将显示详细的HPA配置信息,包括扩展和缩减Pod数量的阈值等信息。

当负载增加时,HPA将自动扩展Pod的数量,直到达到最大Pod数量。在本实验中,最大Pod数量为10。当负载减少时,HPA将自动缩减Pod的数量,直到达到最小Pod数量。在本实验中,最小Pod数量为1。

以上就是一个使用HPA自动扩展Kubernetes Pod数量的示例实验。注意,HPA需要根据实际的应用程序负载进行配置,以便自动扩展和缩减Pod数量。

实验:使用 kubectl 部署应用程序、管理 Pod 和容器、缩放应用程序
参考资料:

Kubernetes 官方文档(https://kubernetes.io/docs/home/)
《Kubernetes in Action》一书(作者:Marko Luksa)

三.Kubernetes高级操作

1.使用命名空间进行资源隔离

命名空间是Kubernetes中用于进行资源隔离和权限控制的基本单元。使用命名空间可以将一个Kubernetes集群划分为多个逻辑部分,并为每个部分分配一定的资源和权限。这样可以避免不同应用程序之间的冲突和干扰,提高集群的可靠性和安全性。
在Kubernetes中,每个对象都属于一个命名空间。常见的对象包括Pod、Service、Deployment、ConfigMap、Secret等。这些对象可以通过命名空间进行隔离和管辖,以便在不同的应用程序之间进行区分和管理。

a.查看Kubernetes中的命名空间列表:
<

你可能感兴趣的:(kubernetes,容器)