kubectl常用

1、名称空间

kubectl get namespace

简化为

kubectl get ns

查看名称空间中的资源(默认default名称空间)

kubectl get all [ -n default]

创建名称空间

kubectl create ns myapp

删除名称空间

kubectl delete ns myapp

2、deployment

创建deployment

kubectl create deploy/deployment nginx-dp --image=harbor.yanc.com/public/nginx:1.17.10 -n kube-public

查看deploy

kubectl get deploy -n kube-public

查看deploy的详细描述

kubectl describe deployment nginx-dp -n kube-public

删除deployment

kubectl delete deploy nginx-dp -n kube-public

扩容/缩减(通过备份个数来控制)

kubectl scale deployment nginx-dp --replicas=2 -n kube-public

3、pod

查看pods

kubectl get pods -n kube-public -o wide

进入pod

kubectl exec -it nginx-dp-7844c44765-czh4l bash -n kube-public

删除pod(deploy控制器会重新启一个pod)

kubectl delete pod nginx-dp-7844c44765-czh4l -n kube-public

强制删除参数:–force --grace-period=0

4、service

创建service(暴露对外端口)

kubectl expose deployment nginx-dp --port=80 -n kube-public

查看service

kubectl describe svc nginx-dp -n kube-public
kubectl get svc nginx-dp -n kube-public -o wide

删除service

kubectl delete svc nginx-dp -n kube-public

5、yaml

查看pod的yaml文件

kubectl get pods -n kube-public
kubectl get pods nginx-dp-7844c44765-czh4l -o yaml -n kube-public

查看metadata帮助

kubectl explain service.metadata
kubectl explain svc.metadata

创建一个资源配置清单

vim /root/nginx-ds-svc.yaml
apiVersion: v1
kind: Service
metadata:
  labels:
    app: nginx-ds
  name: nginx-ds
  namespace: default
spec:
  ports:
  - name: nginx
    port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx-ds
  sessionAffinity: None
  type: ClusterIP

kubectl create -f nginx-ds-svc.yaml
kubectl get svc nginx-ds -o yaml
apiVersion: v1
kind: Service
metadata:
  creationTimestamp: "2020-05-11T13:55:24Z"
  labels:
    app: nginx-ds
  managedFields:
  - apiVersion: v1
    fieldsType: FieldsV1
    fieldsV1:
      f:metadata:
        f:labels:
          .: {}
          f:app: {}
      f:spec:
        f:ports:
          .: {}
          k:{"port":80,"protocol":"TCP"}:
            .: {}
            f:port: {}
            f:protocol: {}
            f:targetPort: {}
        f:selector:
          .: {}
          f:app: {}
        f:sessionAffinity: {}
        f:type: {}
    manager: kubectl
    operation: Update
    time: "2020-05-11T13:55:24Z"
  name: nginx-ds
  namespace: default
  resourceVersion: "1735113"
  selfLink: /api/v1/namespaces/default/services/nginx-ds
  uid: 81e4c51e-0b9b-44a6-9f7a-fd26d12bfb74
spec:
  clusterIP: 192.168.27.166
  ports:
  - port: 80
    protocol: TCP
    targetPort: 80
  selector:
    app: nginx-ds
  sessionAffinity: None
  type: ClusterIP
status:
  loadBalancer: {}

离线修改

修改完yaml文件后执行
kubectl apply -f nginx-ds-svc.yaml

在线修改

kubectl edit svc nginx-ds

删除

kubectl delete svc nginx-ds
kubectl delete -f nginx-ds-svc.yaml
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值