kubernetes - K8s 部署后没有创建 Pod 的标签
问题描述
我在 rasberry pi(Ubuntu 20.04) 上运行 K8s 集群。当我尝试部署以下 K8s 部署时,未在 pod 上创建标签“rel”和“env”。
K8s 版本:
Client Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.7", GitCommit:"8fca2ec50a6133511b771a11559e24191b1aa2b4", GitTreeState:"clean", BuildDate:"2019-09-18T14:47:22Z", GoVersion:"go1.12.9", Compiler:"gc", Platform:"windows/a
md64"}
Server Version: version.Info{Major:"1", Minor:"18", GitVersion:"v1.18.6", GitCommit:"dff82dc0de47299ab66c83c626e08b245ab19037", GitTreeState:"clean", BuildDate:"2020-07-15T16:51:04Z", GoVersion:"go1.13.9", Compiler:"gc", Platform:"linux/arm"}
-- 部署 yaml (kubectl apply -f .)
apiVersion: apps/v1
kind: Deployment
metadata:
name: product-catalog-deployment
namespace: default
labels:
app: product-catalog
rel: beta
env: prod
spec:
selector:
matchLabels:
app: product-catalog
replicas: 3
template:
metadata:
labels:
app: product-catalog
spec:
containers:
- name: product-catalog
image: marveltracker/netcore_fun:netcore_3_1
ports:
- containerPort: 80
name: http
- containerPort: 443
name: https
--- 获取产品 (kubectl get po --show-labels)
NAME READY STATUS RESTARTS AGE LABELS
product-catalog-deployment-65c7bcbf48-8nxbw 1/1 Running 0 16s app=product-catalog,pod-template-hash=65c7bcbf48
product-catalog-deployment-65c7bcbf48-f764h 1/1 Running 0 16s app=product-catalog,pod-template-hash=65c7bcbf48
product-catalog-deployment-65c7bcbf48-pcz4q 1/1 Running 0 16s app=product-catalog,pod-template-hash=65c7bcbf48
这里有什么问题?
解决方案
你的 Yaml 文件应该是这样的
apiVersion: apps/v1
kind: Deployment
metadata:
name: product-catalog-deployment
namespace: default
labels:
app: product-catalog
rel: beta
env: prod
spec:
replicas: 3
selector:
matchLabels:
app: product-catalog
rel: beta #----These all should same
env: prod
template:
metadata:
labels:
app: product-catalog
rel: beta #----Same like above
env: prod
spec:
containers:
- name: product-catalog
image: marveltracker/netcore_fun:netcore_3_1
ports:
- containerPort: 80
name: http
- containerPort: 443
name: https
这是因为部署在后台管理副本集,并且您在副本集 pod 上应用标签。和 replicaset 为 pod 添加标签并管理这些 pod(意味着 pod 可用性的数量)
推荐阅读
- oracle - YYYYMM年月字段Oracle 12c的范围与列表分区
- javascript - slice() 方法/Javascript
- python - for循环中相同数字的重复输出
- tfs - 如何以编程方式向 Azure Devops 中的某个组授予存储库读取权限
- php - 不允许的方法 - Symfony\Component\HttpKernel\Exception\MethodNotAllowedHttpException 不支持 POST 方法
- sql - Sqliteman 中的别名问题试图制作唯一的 id
- docker - Docker 无法启动,因为我没有足够的内存。如何解决?
- firebase - 无法在 Cloud Functions for Firebase 中引用环境变量
- mysql - 我的评论代码有什么问题?
- python-3.x - 如何在python中显示二进制图像数据?