马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
x
kubectl [command] [TYPE] [NAME] [flags]
- commad:对资源具体的操作,如create创建、 get获取 、 delete删除
- TYPE:指定资源类型,巨细写敏感
- NAME:指定资源的名称,巨细写敏感,如果省略名称则表现全部资源
- flags:指定可选的参数,如可用-s或者-server指定Kubernetes API server的地址和端口
example:
- #获取全部节点
- kubectl get node
- #获取全部pod
- kubectl get pod
- #查看某个pod内容
- kubectl get pod pod_name
- #获取全部名称空间
- kubectl get ns
- #查看创建的资源
- kubectl get pod,svc,deploy
- # 删除nginx pod,如果是靠deploy控制器创建的pod, 直接删除则会自动创建新的;
- kubectl delete pod pod名称
- # 如果需要删除则直接删除depoly控制器即可,pod会被删除
- kubectl delete deploy xdclass-nginx
- kubectl delete svc xdclass-nginx
复制代码 kubectl run 资源名称 --image=镜像名称 --port=端口号
- kubectl run xdclass-nignx-pod --image=nginx:1.23.0 --port=80
- kubectl create deployment xdclass-nginx --image=nginx:1.23.0
复制代码 kubectl create -f 设置文件名称.yaml kubectl apply -f 设置文件名称.yaml
yaml 例子:
- apiVersion: apps/v1
- kind: Deployment
- metadata:
- name: nginx-deployment
- labels:
- app: nginx-deployment
- spec:
- replicas: 1
- selector:
- matchLabels:
- app: nginx-pod
- template:
- metadata:
- labels:
- app: nginx-pod
- spec:
- containers:
- - name: nginx
- image: nginx:1.23.0
- imagePullPolicy: IfNotPresent
- ports:
- - containerPort: 80
复制代码- apiVersion: v1
- kind: Pod
- metadata:
- name: nginx
- spec:
- containers:
- - image: nginx:1.23.0
- name: pod
- ports:
- - name: nginx-port
- containerPort: 80
- protocol: TCP
复制代码 **kubectl create 和 kubectl apply的区别: **
- kubectl create 命令首次执行时会创建资源,当再次执行的时候会报错,由于资源名称在同一命名空间内是唯一的
- kubectl apply在首次执行的时候也会创建对应的资源,当再次执行的时候会根据设置文件进行升级、扩容等操作,纵然设置文件没有厘革也不影响
快速编写yaml文件,通过命令导出新的yaml文件
- #创建nginx资源文件并且不启动资源
- kubectl create deployment xdclass-nginx --image=nginx:1.23.0 -o yaml --dry-run=client > nginx.yaml
- #查看nginx.yaml
- cat nginx.yaml
复制代码 pod的yaml文件示例:
- # pod的最基础的yaml文件最少需要以下的几个参数
- apiVersion: v1 # API版本号,注意:具有多个,不同的对象可能会使用不同API
- kind: Pod # 对象类型,pod
- metadata: # 元数据
- name: string # POD名称
- namespace: string # 所属的命名空间
- spec: # specification of the resource content(资源内容的规范)
- containers: # 容器列表
- - name: string # 容器名称
- image: string # 容器镜像
复制代码 必须存在的属性
参数名字段类型说明versionStringk8s API的版本,可利用kubectl api-versions命令查询kindString这里指定k8s资源的类型,好比Pod、DeploymentmetadataObject元数据对象,固定写值metadatametadata-nameString元数据对象的名字,好比命名pod的名字metadata-namespaceString元数据对象的命名空间specObject具体定义对象,固定值写Specspec.container[]listspec对象的容器列表定义spec.container[].nameString容器对象的名字spec.container[].imageString定义要用到的对象名称 Kubernetes常见资源类型和缩写
:::warning
常用资源分类和缩写
- 节点 nodes ,缩写 no
- 名称空间 namespaces,缩写ns
- pod资源 pods, 缩写 po
- pod控制器
- replicasets,缩写rs
- deployments,缩写 deploy
- 服务发现
- 同一pod对外接口 services ,缩写 svc
- 同一pod对外接口ingress ,缩写 ing
- 存储资源
- persistentvolumes,缩写pv
- persistentvolumeclaims,缩写pvc
:::
常用资源操作命令
命令分类命令翻译基本命令create创建资源delete删除资源edit编辑资源get获取资源patch更新资源explain表明资源运行和调试run运行指定的镜像expose暴露服务describe形貌资源内部信息logs打印容器在 pod 中的日志attach进入运行中的容器exec执行容器中的一个命令cp在Pod表里复制文件scale扩容/缩容Pod的数目autoscale扩容/缩容Pod的数目高级命令applyrclabel标签其他命令cluster-info集群信息version版本
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |