一、deployment
pod版本管理工具
一旦运行了 Kubernetes 集群,就可以在其上部署容器化应用程序。 为此,需要创建 Kubernetes Deployment 配置。
Deployment 负责 Kubernetes 如何创建和更新应用程序的实例。
创建 Deployment 后,Kubernetes master 将应用程序实例调度到集群中的各个节点上。
创建nginx_deployment.yaml文件
apiVersion: apps/v1 ## 定义了一个版本
kind: Deployment ##k8s资源类型是Deployment
metadata: ## metadata这个KEY对应的值为一个Maps
name: nginx-deployment ##资源名字 nginx-deployment
labels: ##将新建的Pod附加Label
app: nginx ##一个键值对为key=app,valuen=ginx的Label。
spec: #以下其实就是replicaSet的配置
replicas: 3 ##副本数为3个,也就是有3个pod
selector: ##匹配具有同一个label属性的pod标签
matchLabels: ##寻找合适的label,一个键值对为key=app,value=nginx的Labe
app: nginx
template: #模板
metadata:
labels: ##将新建的Pod附加Label
app: nginx
spec:
containers: ##定义容器
- name: nginx ##容器名称
image: nginx:1.7.9 ##镜像地址
ports:
- containerPort: 80 ##容器端口
执行命令
kubectl apply -f nginx_deploymen服务器托管网t.yaml
查看pod
kubectl get pods
查看pod详情
kubectl get pods -o wide
查看deployment
kubectl get deployment -o wide
二、labels和selector
labels当资源很多的时候可以用可以用labels标签来对资源分类
apiVersion: v1
kind: Pod
metadata:
name: nginx-pod
la服务器托管网bels:
app: nginx
# 表示名称为nginx-pod的pod,有一个label,key为app,value为nginx。
#我们可以将具有同一个label的pod,交给selector管理
selectors如果我想使用这个标签里面的k8s资源,那么需要用到k8s里面selector组件,用selector来匹配到特定的的label
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx-deployment
labels: # 定义了一个labels,key=app,value=nginx
app: nginx
spec:
replicas: 3
selector: # 用selector匹配具有同一个label属性的pod标签
matchLabels:
app: nginx
查看pod的label标签命令
kubectl get pods --show-labels
三、Namespace命名空间
命名空间就是为了隔离不同的资源。比如:Pod、Service、Deployment等。可以在输入命令的时候指定命名空间-n,如果不指定,则使用默认的命名空间:default
查看一下当前的所用命名空间:kubectl get namespaces/ns
查看一下kube-system命名空间:kubectl get pods -n kube-system
创建自己的命名空间
vimy-namespace.yaml
apiVersion: v1
kind: Namespace
metadata:
name: myns
kubectl apply -f my-namespace.yaml
查看命令kubectl get ns
删除命名空间 kubectl delete namespaces myns
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
odd-one-out 谷歌找出AI生成的图片 小游戏 欢迎关注公-众-号【TaonyDaily】、留言、评论,一起学习。 Don’t reinvent the wheel, library code is there to help. 刘俊涛的博客 若有帮助…