加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

k8s的常用命令(一)

发布时间:2020-12-14 04:39:03 所属栏目:大数据 来源:网络整理
导读:常用的kubectl命令 ? kubectl run kubia --image=luksa/kubia --port=8080 --generator=run/v1 ? --image 指定镜像 --port 是告诉kubernetes 应用监听8080端口 --generator 通常不会用到,它让kubernetes创建一个replicationController . 一般不带这个参数
常用的kubectl命令
?
kubectl run kubia --image=luksa/kubia --port=8080 --generator=run/v1
?
--image 指定镜像
--port 是告诉kubernetes 应用监听8080端口
--generator 通常不会用到,它让kubernetes创建一个replicationController . 一般不带这个参数 ,创建的是depoly资源,deploy 在调用replicaset资源,replicaset 和replicationController很像,好像是它的升级版本有更强的selector表达能力,而且这里的--generator=run/v1 并不是创建出的rc名称是run/v1,创建出的rc就是kubia,run/v1可能是标示rc的版本吧,具体不知道,反正后面不用这个,知道有这么个东西即可
后续学习中,得知--generator=run/v1 就是告诉kubernetes需要创建一个rc来管理pod
如果是:kubectcl run dnsutils --image=tutum/dnsutils --generator=run-pod/v1 --command -- sleep infinity
这里的--generator=run-pod/v1选项就是让kubectl直接创建pod,而不需要通过replicationController之类的资源来创建。
?
kubectl get pods
kubectl expose rc kubia --type=loadBalancer --name kubia-http
暴露 名称为kubia的rc 为名称kubia-http 的service,并且使用loadbalnacer,会将创建kubia时 port端口8080 映射出来
?
kubectl get service
?
kubectl get repliactioncontrollers
?
kubectl scale rc kubia --replicas=3 扩容为3个pod
?
kubectl get pods -o wide 查看pod在哪个node节点上
?
kubectl describe pod pod-id
?
?
查看集群状态
kubectl cluster-info
?
使用kubectl explain 来发现可能的API对象字段,如:
kubectl explain pods
想查看某个对象下某个具体字段的使用方法
kubectl explain pod.spec
?
使用kubectl create 来创建pod
kubectl create -f kubia-manual.yaml
?
得到运行中pod的完整定义
kubectl get pod kubia-manual -o yaml
kubectl get pod kubia-manual -o json
?
查看应用程序日志
kubectl logs kubia-manual
当一个pod中有多个容器时
kubectl logs kubia-manual -c kubia
?
在不通过service外界相与pod通信,可以使用port-forward命令将短裤转发到指定pod
以下命令会将机器的本地端口8888转发到我们的kubia-manual pod的端口8080:
kubectl port-forward kubia-manual 8888:8080
?
?
在kubernetes中 标签时可以组织kubernetes所有资源。
kubernetes 中创建出来的具体的对象都是资源。某一个资源 属于某一个资源类如 pod资源类,或者对象。
?
查看所有pod上有什么标签
kubectl get po --show-labels
?
如果你想将标签作为显示列的列头可以使用-L
kubectl get po -L env,app
?
添加pod标签
kubectl label po kubia-manual env=test
?
修改pod的现有标签
kubectl label po kubia-manual env=debug --overwrite
?
通过标签选择器列出pod
kubectl get po -l env=debug
?
列出包含evn标签的pod,不管env是什么值
kubectl get po -l env
?
列出不含evn标签的pod
kubectl get po -l ‘!env‘ (确保是单引号)
?
env !=
env in (test,debug)
env not in (prod,devel)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读