首页 > 其他分享 >k8s快速生成yaml的两种方式

k8s快速生成yaml的两种方式

时间:2023-04-02 18:01:07浏览次数:36  
标签:nginx 生成 yaml master pod k8s root

第一. kubectl create命令

[root@k8s-master ~]# kubectl create deployment nginx --image=nginx -o yaml --dry-run #不创建pod,打印出来
W0106 16:21:43.891679   17615 helpers.go:663] --dry-run is deprecated and can be replaced with --dry-run=client.
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: nginx
  name: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx
        name: nginx
        resources: {}
status: {}
[root@k8s-master ~]# 
ot@k8s-master ~]# kubectl create deployment nginx --image=nginx -o yaml --dry-run=client  > nginx.yaml #不创建pod,导出到文件中
[root@k8s-master ~]# ls
nginx.yaml
[root@k8s-master ~]# cat nginx.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  creationTimestamp: null
  labels:
    app: nginx
  name: nginx
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  strategy: {}
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx
        name: nginx
        resources: {}
status: {}
[root@k8s-master ~]#

第二. kubectl get(导出)

[root@k8s-master ~]# kubectl get deploy nginx -o yaml  > nginx.yaml #直接导出到文档中,没有创建pod
[root@k8s-master ~]# ls
nginx.yaml
[root@k8s-master ~]# cat nginx.yaml 
apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
  creationTimestamp: "2023-01-06T08:25:22Z"
  generation: 1
  labels:
    app: nginx
  name: nginx
  namespace: default
  resourceVersion: "342363"
  uid: 680d72b2-9904-43ad-9833-62b05fad8300
spec:
  progressDeadlineSeconds: 600
  replicas: 1
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app: nginx
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        app: nginx
    spec:
      containers:
      - image: nginx
        imagePullPolicy: Always
        name: nginx
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
status:
  availableReplicas: 1
  conditions:
  - lastTransitionTime: "2023-01-06T08:25:24Z"
    lastUpdateTime: "2023-01-06T08:25:24Z"
    message: Deployment has minimum availability.
    reason: MinimumReplicasAvailable
    status: "True"
    type: Available
  - lastTransitionTime: "2023-01-06T08:25:22Z"
    lastUpdateTime: "2023-01-06T08:25:24Z"
    message: ReplicaSet "nginx-748c667d99" has successfully progressed.
    reason: NewReplicaSetAvailable
    status: "True"
    type: Progressing
  observedGeneration: 1
  readyReplicas: 1
  replicas: 1
  updatedReplicas: 1
[root@k8s-master ~]#

第三. 用命令创建pod

[root@k8s-master ~]# kubectl create deployment nginx --image=nginx  #直接创建pod
deployment.apps/nginx created
[root@k8s-master ~]# kubectl get pods,deployments.apps 
NAME                         READY   STATUS    RESTARTS   AGE
pod/nginx-748c667d99-nnnpz   1/1     Running   0          19s
pod/web-7b6955f56f-t8cb9     1/1     Running   0          2d7h

NAME                    READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx   1/1     1            1           19s
deployment.apps/web     1/1     1            1           2d7h
[root@k8s-master ~]# 
[root@k8s-master ~]# kubectl expose deployment nginx --port=80 --type=NodePort
service/nginx exposed  #直接nginx的service服务
[root@k8s-master ~]# kubectl get pods,svc
NAME                         READY   STATUS    RESTARTS   AGE
pod/nginx-748c667d99-nnnpz   1/1     Running   0          15m
pod/web-7b6955f56f-t8cb9     1/1     Running   0          2d7h

NAME                 TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)        AGE
service/kubernetes   ClusterIP   10.96.0.1        <none>        443/TCP        2d23h
service/nginx        NodePort    10.109.239.113   <none>        80:21397/TCP   10s
service/web          NodePort    10.103.63.38     <none>        80:31960/TCP   2d7h
[root@k8s-master ~]#

第四. 验证nginx的pod是否正常

k8s快速生成yaml的两种方式_2d

可以正常访问,就是OK

标签:nginx,生成,yaml,master,pod,k8s,root
From: https://blog.51cto.com/mq759035366/6164946

相关文章

  • 生成数字
     importmcpi.minecraftasminecraftimportmcpi.blockasblockmc=minecraft.Minecraft.create()#3*5区域清空defcleanField(baseX,baseY,baseZ):mc.setBlocks(baseX,baseY,baseZ,baseX,baseY+4,baseZ+2,block.AIR.id)defshowScore(baseX,......
  • 生成数字csv
    csv文件: importtimeimportmcpi.minecraftasminecraftimportmcpi.blockasblockmc=minecraft.Minecraft.create()#3*5区域清空defcleanField(baseX,baseY,baseZ):mc.setBlocks(baseX,baseY,baseZ,baseX,baseY+4,baseZ+2,block.AIR.id)......
  • 使用 MybatisPlusCore 自带的雪花算法生成不重复数字
    这里不介绍雪花算法的实现原理,可以自行搜索查阅网上的资料。这里主要介绍雪花算法的使用场景,如何调用第三方类库MybatisPlusCore自带的方法来使用雪花算法。雪花算法的主要使用场景,就是生成不重复的数字,作为数据库表的主键使用。你可能会使用uuid作为主键,但是其占用16个......
  • 前端通过Swagger生成相关接口文件
    1.Swagger 多分组在很多大型系统中,为了方便对接口进行归类,往往使用了 Swagger 多分组功能,这样会使系统的接口散落在多个 swagger.json 中。将SpecificationDocumentSettings属性的EnableAllGroups设置为true。启用之后在 Swagger 导航栏顶部下拉分组将出现......
  • tkinter生成列表
    importtkinterfromtkinterimportttkfromtkinterimport*importpymysql#导入消息对话框子模块importtkinter.messageboxdefselect_student_study():    root=Tk()    root.title('自习时间')  root.geometry('600x800')  root.confi......
  • 基于docker和cri-dockerd部署k8sv1.26.3
    cri-dockerd是什么?在Kubernetesv1.24及更早版本中,我们使用docker作为容器引擎在k8s上使用时,依赖一个dockershim的内置k8s组件;k8sv1.24发行版中将dockershim组件给移除了;取而代之的就是cri-dockerd(当然还有其它容器接口);简单讲CRI就是容器运行时接口(ContainerRunt......
  • 41、K8S-网络机制之Flannel
    1、网络基础1.1、Pod接入网络的具体实现1.1.1、虚拟网桥虚拟网桥:brdige,用纯软件的方式实现一个虚拟网络,用一个虚拟网卡接入到我们虚拟网桥上去。这样就能保证每一个容器和每一个pod都能有一个专用的网络接口,从而实现每一主机组件有网络接口。每一对网卡一半留在pod之......
  • 使用mybatis-plus方法自动生成代码(1)
    首先,在项目的pom.xml文件中添加如下依赖:<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-generator</artifactId><version>3.4.3</version></dependency><dependency><groupId&......
  • DB First生成实体层的命令行
    使用EFCore,需要先安装几个依赖包  命令行:Scaffold-DbContext"Server=localhost;Database=smallapp;User=root;Password=12345"MySql.EntityFrameworkCore......
  • 自动生成接口文档coreapi的使用
    1.安装coreapi  2.路由中配置路由固定格式   3.视图类自动生成接口文档第一种_单一方法的视图   4.第二种_包含多个方法的视图_在类视图的文档字符串中_分开方法定义   5.生成接口文档的setting和路由配置   5_1.生成接口文档的setting......