0%

k8s的入门操作

日常使用的服务部署在容器中,容器运行在pod中,pod运行在node

graph BT 
    subgraph node1
    pod1
    pod2
    end
    subgraph node2
    pod3
    pod4
    end
    subgraph node3
    pod5
    pod6
    end

基操

查看k8s的版本

1
$ kubectl version

查看所有节点信息(node)

1
$ kubectl get node -n <namespace>

如果想查看更多信息。可以添加参数 -o wide

查看服务(svc)

1
$ kubectl get svc

如果想查看更多信息。可以添加参数 -o wide

默认查看当前namespace的服务。如果需要查看指定namespace的服务,添加参数 -n <name_space>

如果想要查看所有namespace全部服务,则添加参数-A

查看pod

1
$ kubectl get pod -n <namespace>

如果想查看更多信息。可以使用kubectl get pod -o wide

默认查看当前namespace的pod。如果需要查看指定namespace的服务,添加参数 -n <name_space>

如果想要查看所有namespace全部pod,则添加参数-A

查看pod日志

1
$ kubectl logs -f <pod_name>  --tail -10

参数-f表示持续跟踪

--tail -10表示看最后10行

查看资源的描述信息

1
$ kubectl describe (-f FILENAME | TYPE [NAME_PREFIX | -l label] | TYPE/NAM)

-f, –filename=[]: ⽤来指定待描述资源的⽂件名,⽬录名或者URL。 -l, –selector=””: ⽤于过滤资源的Label。

  • 查看node的描述信息: kubectl describe node <node_name>

  • 查看service的描述信息:kubectl describe svc <service_name>

  • 查看pod的描述信息:kubectl describe pod <pod_name>

  • 查看所有pod的描述信息:kubectl describe pods

  • 查看资源使用情况

    1
    2
    3
    4
    5
    # 查看node的资源使用情况
    $ kubectl top node

    # 查看pod的资源使用情况
    $ kubectl top pod

进入到pod里边

1
$ kubectl exec -it pod/<pod_name> -n <namespace> -- bash

pod执行指令

1
$ kubectl exec -it pod/<pod_name> -n <namespace> -- <cmd_line>

让pod执行指令,跟上边进入pod是一回事,bash的意思是进入命令行。执行别的指令,执行完就会退出pod,不会持续等待下一条指令

部署

graph TB
    A[制作镜像] --> B[镜像上传到镜像仓库];
    B --> C[编写k8s部署的yaml文件];
    C --> D[通过kubectl apply部署];
    D --> E(部署完成);

部署前端服务

k8s部署前端方案

方案

nginx + 静态文件 ==> docker镜像

镜像上传到镜像仓库

编写yaml文件

kubectl 部署 service

部署后台服务

k8s部署微服务

方案

Java环境 + 程序包 ==> docker镜像

镜像上传到镜像仓库

编写yaml文件

kubectl 部署 service

-------- 本文结束 感谢阅读 --------