apiVersion: apps/v1    #与k8s集群版本有关,使用 kubectl api-versions 即可查看当前集群支持的版本
kind: Deployment    #该配置的类型,我们使用的是 Deployment
metadata:            #译名为元数据,即 Deployment 的一些基本属性和信息
  name: nginx-deployment    #Deployment 的名称
  labels:        #标签,可以灵活定位一个或多个资源,其中key和value均可自定义,可以定义多组,目前不需要理解
    app: nginx    #为该Deployment设置key为app,value为nginx的标签
spec:            #这是关于该Deployment的描述,可以理解为你期待该Deployment在k8s中如何使用
  replicas: 1    #使用该Deployment创建一个应用程序实例,创建几个pod
  selector:        #标签选择器,与上面的标签共同作用,目前不需要理解
    matchLabels: #选择包含标签app:nginx的资源
      app: nginx
  template:        #这是选择或创建的Pod的模板
    metadata:    #Pod的元数据
      labels:    #Pod的标签,上面的selector即选择包含标签app:nginx的Pod
        app: nginx
    spec:        #期望Pod实现的功能(即在pod中部署)
      containers:    #生成container,k8s中的pod与多个docker容器共享一个Network namespace。
      - name: nginx    #container的名称
     imagePullPolicy: Always image: nginx:
1.8.0 #使用镜像nginx:1.8.0创建container,该container默认80端口可访问


---
apiVersion: v1        ##版本号
kind: Service        ##服务类型
metadata:
  name: nginx-service
  labels:
    app: nginx
spec:
  type: NodePort     ##端口映射
  ports:
  - port: 80            ##内部端口
    targetPort: 80   ##映射端口
  selector:       ##选择器/
    app: nginx

#imagePullPolicy: IfNotPresent  #Always:每次都检查,如果镜像更新了就拉取新的镜像 Never:每次都不检查,使用本地的镜像,如果不存在就报异常 IfNotPresent,如果本地有就不检查,如果没有就拉取
HTML文件开头需要编写标签信息,对应不同资源信息

[root@k8s_master ~]# kubectl api-versions
admissionregistration.k8s.io/v1beta1
apiextensions.k8s.io/v1beta1
apiregistration.k8s.io/v1
apiregistration.k8s.io/v1beta1
apps/v1           ##应用资源
apps/v1beta2      ##测试版本
authentication.k8s.io/v1
authentication.k8s.io/v1beta1
authorization.k8s.io/v1
authorization.k8s.io/v1beta1
autoscaling/v1
autoscaling/v2beta1    ##弹性伸缩资源
autoscaling/v2beta2
batch/v1
batch/v1beta1
certificates.k8s.io/v1beta1
coordination.k8s.io/v1beta1
events.k8s.io/v1beta1
extensions/v1beta1
networking.k8s.io/v1
policy/v1beta1
rbac.authorization.k8s.io/v1     ##权限控制资源
rbac.authorization.k8s.io/v1beta1
scheduling.k8s.io/v1beta1
storage.k8s.io/v1
storage.k8s.io/v1beta1
v1

k8s 指定node调度

指定标签

    spec:
      nodeSelector:
        unioj-role: judgers

kubectl label nodes k8s-node2 unioj-role=judgers   打标签


nodename调度
    spec:
      nodeName: k8s-node2
      restartPolicy: Always      #表示自动重启,一直都会有这个容器运行

 

posted on 2022-01-24 09:38  属于我的梦,明明还在  阅读(350)  评论(0编辑  收藏  举报