当前位置: 首页 > 工具软件 > kubectl-alias > 使用案例 >

kubectl入门命令

翟卓君
2023-12-01

kubectl入门命令

一、kubectl window Client

powershell以管理员身份运行

  • 安装kubectl client
choco install kubernetes-cli
kubectl version --client
  • 启用kubectl 命令自动补全
Set-ExecutionPolicy -Scope CurrentUser
RemoteSigned
A
kubectl completion powershell >> $PROFILE
  • 动态切换context

用途:~.kube\config配置文件中配置了多个k8s集群,可通过以下命令随时切换k8s集群

kubectl config current-context
kubectl config use-context docker-desktop
kubectl config current-context

二、常用命令

默认 --kubeconfig=config

  • target简称

statefulsets=>sts

services=>svc

pods=>po

configmaps=>cm

limitranges=>ing

persistentvolumes=>pv

persistentvolumeclaims=>pvc

1.帮助

kubectl get -h
kubectl explain pods

2.管理员

kubectl get namespaces
kubectl get node
kubectl get statefulsets

3.service

kubectl -n my-namespace get services |grep nginx
kubectl -n my-namespace get service -o wide nginx
kubectl -n my-namespace get service -o yaml nginx
kubectl -n my-namespace describe service nginx
  • 新增、修改服务端口号
kubectl -n my-namespace edit svc/nginx

4.pods

kubectl -n my-namespace get pods
kubectl -n my-namespace logs -f nginx-9f577f598-rj427
kubectl -n my-namespace delete pod nginx-9f577f598-rj427
kubectl -n my-namespace describe pod ginx-9f577f598-rj427
  • 强制删除pod
kubectl -n my-namespace delete pod nginx-9f577f598-rj427 --force --grace-period=0

5.deployment

  • 查看
kubectl -n my-namespace get deployments
kubectl -n my-namespace get deployment nginx
  • 创建、修改
kubectl -n my-namespace apply -f nginx.yaml
kubectl -n my-namespace edit deployment nginx
kubectl -n my-namespace scale deployment nginx --replicas=1

6.资源管理

kubectl -n my-namespace get cm
kubectl -n my-namespace get ing
kubectl -n my-namespace get pv
kubectl -n my-namespace get pvc

7.交互命令

kubectl -n my-namespace exec -it nginx-9f577f598-rj427 -- /bin/sh
kubectl -n my-namespace exec -it nginx-9f577f598-rj427 -- top
  • 复杂命令
kubectl -n my-namespace exec nginx-9f577f598-rj427 -- bash -c 'echo $HOME'

8.日志

kubectl -n my-namespace logs -f nginx-9f577f598-rj427 |grep -C 10 "短信发送失败"

三、扩展

1.hosts配置

cat >> /etc/hosts << EOF
192.168.1.100 cas.example.org
EOF

2.常用工具包

apt-get update
apt-get install -y iputils-ping
apt-get install -y telnet
apt-get install -y curl
apt-get install -y wget
apt-get install -y aria2

3.arthas

apt-get install -y aria2
aria2c https://arthas.aliyun.com/arthas-boot.jar
java -jar arthas-boot.jar

4.tcpdump

tcpdump -i any host 192.168.1.100 and dst port 80 -w all.pcap

5.kebuctl快捷命令

  • cmd或Cmder

找到HKEY_LOCAL_MACHINE\Software\Microsoft\Command Processor,右键新建-字符串值,名为AutoRun,值为C:\cmd-alias.bat,保存退出。
新建C:\cmd-alias.bat文件,内容如下
@doskey kubectl-admin=kubectl --kubeconfig=C:/Users/admin/.kube/admin.kubeconfig $*

  • linux模拟终端(可结合MobaXterm宏脚本)
    alias kubectl-admin='kubectl --kubeconfig=C:/Users/admin/.kube/admin.kubeconfig'

参考:
choco 使用详解
kubectl window
k8s——三种IP地址
windows自定义快捷命令

 类似资料: