kubectl和Docker 类似的命令

docker version
kubectl version --short

docker info
kubectl cluster-info

查看已运行的容器

docker ps
kubectl get pods -o wide

docker exec
docker exec -it 55c103fa1296 bin/sh
kubectl exec
kubectl exec -it nginx-app-5jyvm -- bin/sh
格式如下:
kubectl exec -it podName -c containerName -n namespace -- shell comand
kubectl exec 使用 -i 和 -t 参数进入了容器的交互式 shell

docker run -d --restart=always -e DOMAIN=cluster --name nginx-app -p 80:80 nginx
kubectl run --image=nginx nginx-app --port=80 -- env="DOMAIN=cluster"
kubectl expose deployment nginx-app --port=80 --name=nginx-http

docker logs -f a9e
kubectl logs -f nginx-app-zibvs
kubectl logs 用于显示 pod 运行中,容器内程序输出到标准输出的内容

docker cp
kubectl cp 在pod内外复制文件
查看服务
journalctl -u kube-apiserver.service

kubeclt工具

kubectl用于运行Kubernetes集群命令的管理工具
command
基础命令
部署命令: scale autoscale rollout rolling-ipdate
集群管理命令
故障诊断和调试命令
kubectl describe
TYPE:指定资源类型Resource types。
资源对象::replicationcontroller、deployment、daemonset、job、replicaset
Resource types会区分大小写,也可以指定单数,复数或缩写的形式

k8s的yaml文件

如果不为容器提供command或args参数,则使用Docker镜像中定义的默认值。
如果提供command但没有提供args参数,则仅使用提供的command。Docker镜像中定义的默认EntryPoint和默认Cmd将被忽略。
如果仅为容器提供args,则Docker镜像中定义的默认Entrypoint将与您提供的args一起运行。
如果提供command和args,则将忽略Docker镜像中定义的默认Entrypoint和默认Cmd。 您的command与 args一起运行

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
--env-file=[]: 从指定文件读入环境变量; -e username=“ritchie”: 设置环境变量
docker run -it --entrypoint /bin/bash [docker_image]
Dockerfile + docker build
cmd entrypoint

kubectl apply -f FILENAME
kubectl create -f FILENAME
kubectl create命令可创建新资源。 因此,如果再次运行该命令,则会抛出错误,因为资源名称在名称空间中应该是唯一的
kubectl apply命令将配置应用于资源。 如果资源不在那里,那么它将被创建。 kubectl apply命令可以第二次运行

containers:容器配置
容器可选的设置属性包括:
name、image、command、args、workingDir、ports、env、resource、volumeMounts、
livenessProbe、readinessProbe、livecycle、terminationMessagePath、
imagePullPolicy、securityContext、stdin、stdinOnce、tty
command: [string] #容器的启动命令列表,如不指定,使用打包时使用的启动命令
args: [string] #容器的启动命令参数列表
env: #容器运行前需设置的环境变量列表
resources: #资源限制和请求的设置
spec:
containers:
- name: container-test
image: 'test/library/test:v2'
command
args:
- sleep
- '3600'
workingDir: /mytest
env:
- name: MY_ID
value: '1234'
- name: ORION_GMEM
value: '20000'
- name: ORION_RESERVED
value: '1'
- name: ORION_VGPU
value: '1'
- name: ORION_RATIO
value: '100'
- name: ORION_DEVICE_ENABLE
value: '1'
- name: ORION_EXPORT_CMD
value: env | grep ORION; orion-smi -j
- name: ORION_GROUP_ID
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.uid
- name: ORION_K8S_POD_NAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
- name: ORION_K8S_POD_UID
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.uid
resources:
limits:
virtaitech.com/gpu: '1'
requests:
virtaitech.com/gpu: '1'
volumeMounts:
- name: mytest
mountPath: /mytest
- name: kube-api-access-gbddb
readOnly: true
mountPath: /var/run/secrets/kubernetes.io/serviceaccount
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
imagePullPolicy: IfNotPresent
securityContext:
privileged: true

命令解析

config 修改kubeconfig文件

Kubectl

kubectl api-versions

参考

【k8s】Kubectl 与 Docker 命令 对比 https://blog.csdn.net/m0_45406092/article/details/105006429
Kubernetes中文社区 | 中文文档 http://docs.kubernetes.org.cn/
https://github.com/kubernetes/kubernetes

posted on 2022-07-14 18:57  辰令  阅读(538)  评论(0)    收藏  举报