k8s资源清单创建pod、deployment、service

2023-05-16

资源清单配置

pod yaml

#暴露端口可以进行访问
[root@master ~]# kubectl create ns xialuo
namespace/xialuo created

[root@master ~]# vim pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: myweb
  namespace: xialuo   #指定名称空间,事先创建过的 命令:kubectl create ns xialuo
  labels:
    app: myweb
spec:
  containers:
    - name: web1
      image: xialuo1/httpd:v0.1
      imagePullPolicy: IfNotPresent
      ports:
        - containerPort: 80
          hostPort: 8080  #这里必须填写有效端口

[root@master ~]# kubectl create -f pod.yaml
pod/myweb created
[root@master ~]# kubectl get pods -n xialuo -o wide
NAME    READY   STATUS             RESTARTS   AGE    IP            NODE    NOMINATED NODE   READINESS GATES
myweb   1/1     Running   0          109s   10.244.2.14   node2   <none>           <none>

deployment yaml

[root@master ~]# vim deploy.yaml 
apiVersion: apps/v1  #api版本
kind: Deployment  #资源类型
metadata:  #元数据定义
  name: nginx-deploy  #名称
  namespace: default   #名称空间
  labels:  #标签
    app: nginx-web
spec:   #deployment定义
  replicas: 3   #定义2个副本
  selector:    #标签选择器,匹配pod的标签
    matchLabels:
      app: nginx-web
  template:   #pod模板定义
    metadata:
      name: nginx1
      namespace: default
      labels:  #这里的标签必须和标签选择器的一致
        app: nginx-web
    spec:   #pod内的容器定义
      containers:
        - name: web
          image: nginx
          imagePullPolicy: IfNotPresent
          ports:
            - containerPort: 80   #暴露IP

[root@master ~]# kubectl create -f deploy.yaml 
deployment.apps/nginx-deploy created
[root@master ~]# kubectl get pod -o wide 
NAME                            READY   STATUS             RESTARTS   AGE     IP            NODE    NOMINATED NODE   READINESS
GATES
nginx-deploy-69b65f949b-8zbnn   1/1     Running            0          53s     10.244.2.16   node2   <none>           <none>
nginx-deploy-69b65f949b-h25r6   1/1     Running            0          53s     10.244.2.15   node2   <none>           <none>
nginx-deploy-69b65f949b-l74qs   1/1     Running            0          53s     10.244.2.17   node2   <none>           <none>

暴露端口到主机
[root@master ~]# kubectl expose deployment nginx-deploy --port=80 --type=NodePort
service/nginx-deploy exposed
[root@master ~]# kubectl get svc
NAME           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
deploy-nginx   ClusterIP   10.96.65.25     <none>        80/TCP         2d20h
kubernetes     ClusterIP   10.96.0.1       <none>        443/TCP        3d20h
nginx          NodePort    10.111.153.17   <none>        80:31775/TCP   3d20h
nginx-deploy   NodePort    10.97.78.4      <none>        80:31494/TCP   18s

在这里插入图片描述

service yaml

[root@master ~]# vim svc.yaml 
apiVersion: v1
kind: Service
metadata:
    name: nginx-svc
    namespace: default
spec:
  selector:
    app: nginx-web
  type: NodePort
  ports:
    - nodePort: 30008
      port: 80
      targetPort: 80
[root@master ~]# kubectl create -f svc.yaml 
service/nginx-svc created
[root@master ~]# kubectl get svc
NAME           TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)        AGE
kubernetes     ClusterIP   10.96.0.1       <none>        443/TCP        3d20h
nginx-svc      NodePort    10.105.126.83   <none>        80:30008/TCP   3s

[root@master ~]# kubectl get pods -o wide
NAME                            READY   STATUS    RESTARTS   AGE   IP            NODE                    NOMINATED NODE   READINESS GATES
nginx-deploy-69b65f949b-8zbnn   1/1     Running            0          11m     10.244.2.16   node2   <none>           <none>
nginx-deploy-69b65f949b-h25r6   1/1     Running            0          11m     10.244.2.15   node2   <none>           <none>
nginx-deploy-69b65f949b-l74qs   1/1     Running            0          11m     10.244.2.17   node2   <none>           <none>

查看endpoint资源端点列表
[root@master ~]# kubectl get endpoints
NAME           ENDPOINTS                                      AGE
kubernetes     192.168.149.137:6443                           3d20h
nginx-svc      10.244.2.15:80,10.244.2.16:80,10.244.2.17:80   2m17s
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

k8s资源清单创建pod、deployment、service 的相关文章

随机推荐