前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kubectl基本命令

kubectl基本命令

作者头像
jwangkun
发布2021-12-23 16:32:04
5340
发布2021-12-23 16:32:04
举报
文章被收录于专栏:John Wong's BlogJohn Wong's Blog

设置命令自动补全

代码语言:javascript
复制
# 首先下载这个命令,补全命令才能生效
yum install -y bash-completion
# 1、当前shell生效
yum install -y bash-completion


#2、总是会生效
# vi  .bashrc    (/etc/profile)
source <(kubectl completion bash)

source ~/.bashrc

对节点的操作

获取集群节点信息

代码语言:javascript
复制
kubectl get nodes  # 获取集群节点信息

# 输出不同的格式
kubectl get nodes -o wide
kubectl get nodes -o json
kubectl get nodes -o yaml

kubectl get nodes node2 -o wide # 查看某个节点的信息

增加节点

代码语言:javascript
复制
# 在主节点上master执行命令
# kubeadm token create --print-join-command
# node节点上执行上述命令输出的内容
kubeadm join apiserver.demo:6443 --token l9y210.bzx98ovq27i7an20     --discovery-token-ca-cert-hash sha256:274bcf2916f6c94b594098043aa697aef5137941b4e8f972f9183547d88323b3

移除节点

代码语言:javascript
复制
# 只在 worker 节点执行
kubeadm reset
# 只在 master 节点执行
kubectl delete node demo-worker-x-x

对节点标签进行操作

获取标签信息

代码语言:javascript
复制
kubectl get nodes --show-labels
kubectl get nodes node2 --show-labels # 查看某个节点的标签信息

添加标签

代码语言:javascript
复制
# 标签以key=value的形式存在

# 设置node2节点的label是  disktype: node2
kubectl label  nodes  node2 disktype:node2
#会输出 node2 labeled

kubectl get nodes node2 --show-labels
# 输出节点对应的内容  查看输出label内容   

删除标签

代码语言:javascript
复制
kubectk label nodes node2 disktype-
# 删除标签,只需要对应标签的key加减号(-)

设置角色

代码语言:javascript
复制
# 刚加入集群  node的角色定义是none,我们可以查看master的标签,查看角色对应的label
kubectl get nodes master --show-labels
#会看到 node-role.kubernetes.io/master= 这样的一个标签
# 修改对应的角色即可

#将node1,node2的角色定义为worker
kubectl label nodes node1 node-role.kubernetes.io/worker=
kubectl label nodes node2 node-role.kubernetes.io/worker=

对pod的操作

创建pod

代码语言:javascript
复制
kubectl  create -f xxx.yml

删除pod

代码语言:javascript
复制
kubectl delete -f xxx.yml

获取pod信息

代码语言:javascript
复制
kubectl get pods  # 获取当前名称空间的pod
kubectl get pods --namespace demo  # 获取指定名称空间的pod

进入指定pod的指定的容器内

代码语言:javascript
复制
#kubectl exec -it pod_name -c container_name sh
kubectl exec -it nginx -c nginx sh

namespace

获取命名空间

代码语言:javascript
复制
kubectl get namespace

创建命名空间

代码语言:javascript
复制
# kubectl create namespace namespace_name
kubectl create namespace demo

删除命名空间

代码语言:javascript
复制
# kubectl delete namespace namespace_name
kubectl delete namespace demo

创建一个指定命令空间的pod的yaml文件

代码语言:javascript
复制
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  namespace: demo  # 指定名称空间
spec:
  containers:
  - name: nginx
    image: nginx
    ports:
    - containerPort: 80
代码语言:javascript
复制
kubectl create namespace demo # 创建对应的名称空间
kubectl create -f nginx_namespace.yml
kubectl get pods # 在当前名称空间查看pod,查找不到刚才创建的pod
kubectl get pods --namespace demo # 查看指定名称空间的pod

下一篇: 使用kubeadm快速部署一个K8s集群→

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-10-15,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 设置命令自动补全
  • 对节点的操作
  • 对节点标签进行操作
  • 设置角色
  • 对pod的操作
  • namespace
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档