Kubernetes 集群部署(5) -- kubectl 常用命令

    经过前面的4篇文章, kubernetes 集群已经部署好了,下面通过一些命令,了解一下对 kubernetes 的操作。

1. 创建 nginx 的 pod:  kubectl run nginx --image=nginx --replicas=3

2. 查看 pod:  kubectl get pod

3. 删除一个 pod: kubectl delete nginx-7cdbd8cdc9-5dxlc

删除后查看,发现还是3个,这是因为上面指定了 3 个副本,所以 kubenetes 会一直保证有 3 个。删掉一个时,会自动再建一个。

4. 想要彻底删除,可以运行:  kubectl delete deployment nginx

5. 重新创建 pod 后,状态一直是 ContainerCreating,使用下面的命令查看:

kubectl describe pod nginx

发现下面这一段

这个地址是在前面 kubelet.conf 文件中配置,看的教程上说,默认是使用 gcr.io/google_containers/pause-amd64:3.0, 如果不配这个的话,会拉不到镜像。可是我配了这个地址,还是拉不到。可以通过以下方法解决(在 Node 上运行):

 6. 把 Pod 中 nginx 的端口暴露出来

kubectl expose deployment nginx --port=88 --target-port=80 --type=NodePort

7. 查看生成的服务:  kubectl get services

 8. 删除 service: kubectl delete service nginx

9. 给一个 node 打标签:   kubectl label node k8s-node1 disktype=ssd   (注:这里的k8s-node1 是某个 node 的名称)

    查看node 的label:   kubectl get node --show-labels

    给 node 打上标签后,就可以指定 Pod 部署到具有某个标签的 node 上。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx-deployment
spec:
  replicas: 2
  template:
    metadata:
      labels:
        app: web-nginx
    spec:
      containers:
      - name: nginx
        image: nginx:1.7.9
      nodeSelector:
        disktype: ssd

删除标签:  kubectl label node k8s-node1 disktype-   (注: - 就是删除的意思)

10. 查看有哪些 api-version:  kubectl api-versions

posted @ 2021-12-28 16:32  一剑侵心  阅读(78)  评论(0编辑  收藏  举报