edit 在服务器上编辑一个资源

delete Delete resources by filenames, stdin, resources and names, or by resources and label selector

Deploy Commands:

rollout Manage the rollout of a resource

scale 为 Deployment, ReplicaSet, Replication Controller 或者 Job 设置一个新的副本数量

autoscale 自动调整一个 Deployment, ReplicaSet, 或者 ReplicationController 的副本数量

Cluster Management Commands:

certificate 修改 certificate 资源.

cluster-info 显示集群信息

top Display Resource (CPU/Memory/Storage) usage.

cordon 标记 node 为 unschedulable

uncordon 标记 node 为 schedulable

drain Drain node in preparation for maintenance

taint 更新一个或者多个 node 上的 taints

Troubleshooting and Debugging Commands:

describe 显示一个指定 resource 或者 group 的 resources 详情

logs 输出容器在 pod 中的日志

attach Attach 到一个运行中的 container

exec 在一个 container 中执行一个命令

port-forward Forward one or more local ports to a pod

proxy 运行一个 proxy 到 Kubernetes API server

cp 复制 files 和 directories 到 containers 和从容器中复制 files 和 directories.

auth Inspect authorization

Advanced Commands:

diff Diff live version against would-be applied version

apply 通过文件名或标准输入流(stdin)对资源进行配置

patch 使用 strategic merge patch 更新一个资源的 field(s)

replace 通过 filename 或者 stdin替换一个资源

wait Experimental: Wait for a specific condition on one or many resources.

convert 在不同的 API versions 转换配置文件

Settings Commands:

label 更新在这个资源上的 labels

annotate 更新一个资源的注解

completion Output shell completion code for the specified shell (bash or zsh)

Other Commands:

alpha Commands for features in alpha

api-resources Print the supported API resources on the server

api-versions Print the supported API versions on the server, in the form of “group/version”

config 修改 kubeconfig 文件

plugin Provides utilities for interacting with plugins.

version 输出 client 和 server 的版本信息

Usage:

kubectl [flags] [options]

Use “kubectl --help” for more information about a given command.

Use “kubectl options” for a list of global command-line options (applies to all commands).

kubectl命令使用

==========================================================================

kubectl命令官方文档

create命令


语法:

kubectl create deployment NAME --image=image – [COMMAND] [args…]

选项:

–image 指定镜像

–replicas 创建指定数目的pod

[root@master ~]# kubectl create deployment test1 --image busybox

deployment.apps/test1 created #使用busybox镜像创建一个test1的pod

[root@master ~]# kubectl get pod

NAME READY STATUS RESTARTS AGE

nginx-6799fc88d8-4k6rc 1/1 Running 2 27h

test1-78d64fd9b9-n2f79 0/1 CrashLoopBackOff 3 115s #可以看到处于退出状态,因为busybox使用的是sh,没有任务就会退出

//创建名为test2的部署,用于运行 busybox 映

[root@master ~]# kubectl create deployment test2 --image busybox – sleep 60

deployment.apps/test2 created

[root@master ~]# kubectl get pods

NAME READY STATUS RESTARTS AGE

test1-78d64fd9b9-n2f79 0/1 CrashLoopBackOff 4 3m12s

test2-7c95bf5bcb-s7wzk 1/1 Running 0 49s #运行中

//创建一个名为web的部署,该部署运行具有 3 个副本的 nginx 映像

[root@master ~]# kubectl create deployment web --image nginx --replicas 3

deployment.apps/web created

[root@master ~]# kubectl get pods

NAME READY STATUS RESTARTS AGE

web-96d5df5c8-f9t9x 1/1 Running 0 62s

web-96d5df5c8-m4fnb 1/1 Running 0 62s

web-96d5df5c8-stgdp 1/1 Running 0 62s

//查看pod运行的节点位置

[root@master ~]# kubectl get pods -o wide

NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES

web-96d5df5c8-f9t9x 1/1 Running 0 115s 10.244.1.9 node1

web-96d5df5c8-m4fnb 1/1 Running 0 115s 10.244.1.10 node1

web-96d5df5c8-stgdp 1/1 Running 0 115s 10.244.1.8 node1

//创建一个名为 web01 的部署,该部署运行 nginx映像并公开端口 80

[root@master ~]# kubectl create deployment web01 --image nginx --port=80

deployment.apps/web01 created

[root@master ~]# kubectl get pods

NAME READY STATUS RESTARTS AGE

web01-59859fb9db-tksjv 1/1 Running 0 18s

get命令


//以 ps 输出格式列出所有 Pod

[root@master ~]# kubectl get pods

NAME READY STATUS RESTARTS AGE

nginx-6799fc88d8-4k6rc 1/1 Running 2 27h

web-96d5df5c8-64z76 1/1 Running 0 82s

web-96d5df5c8-pggdj 1/1 Running 0 82s

web-96d5df5c8-vjv6x 1/1 Running 0 82s

web01-59859fb9db-tksjv 1/1 Running 0 17m

//查看你指定类型的pod,类型加pod名

[root@master ~]# kubectl get deployment web

NAME READY UP-TO-DATE AVAILABLE AGE

web 3/3 3 3 2m25s

//以 ps 输出格式列出所有 Pod,并提供更多信息(例如节点名称)

[root@master ~]# kubectl get pods -o wide

NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES

nginx-6799fc88d8-4k6rc 1/1 Running 2 27h 10.244.1.5 node1

web-96d5df5c8-64z76 1/1 Running 0 2m5s 10.244.1.13 node1

web-96d5df5c8-pggdj 1/1 Running 0 2m5s 10.244.1.12 node1

web-96d5df5c8-vjv6x 1/1 Running 0 2m5s 10.244.1.14 node1

web01-59859fb9db-tksjv 1/1 Running 0 17m 10.244.1.11 node1

//以 ps 输出格式列出所有复制控制器和服务

[root@master ~]# kubectl get rc,svc

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

service/kubernetes ClusterIP 10.96.0.1 443/TCP 27h

service/nginx ClusterIP 10.102.213.63 8080/TCP 6m20s #svc是service简写,也可以写全拼

kubectl get cs # 查看集群状态

kubectl get nodes # 查看集群节点信息

kubectl get ns # 查看集群命名空间

kubectl get svc -n kube-system # 查看指定命名空间的服务

kubectl get pod -o wide # 查看Pod详细信息

kubectl get pod -o yaml # 以yaml格式查看Pod详细信息

kubectl get pods # 查看资源对象,查看所有Pod列表

kubectl get rc,service # 查看资源对象,查看rc和service列表

kubectl get pod,svc,ep --show-labels # 查看pod,svc,ep能及标签信息

kubectl get all --all-namespaces # 查看所有的命名空间

expose命令


选项:

–port 要映射的宿主机端口

–target-port 映射给那个容器端口

//为复制的nginx创建一个服务,该服务在端口8080上服务并连接到端口80上的容器

[root@master ~]# kubectl expose deployment nginx --port 8080 --target-port 80

service/nginx exposed

[root@master ~]# kubectl get svc

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

kubernetes ClusterIP 10.96.0.1 443/TCP 27h

nginx ClusterIP 10.102.213.63 8080/TCP 20s

[root@master ~]# curl 10.102.213.63:8080

Welcome to nginx!

Welcome to nginx!

If you see this page, the nginx web server is successfully installed and

working. Further configuration is required.

For online documentation and support please refer to

nginx.org.

Commercial support is available at

nginx.com.

Thank you for using nginx.

delete命令


[root@master ~]# kubectl get pods

NAME READY STATUS RESTARTS AGE

b3-76df468677-r2ctd 0/1 CrashLoopBackOff 5 3m53s

nginx-6799fc88d8-4k6rc 1/1 Running 2 27h

test1-78d64fd9b9-n2f79 0/1 CrashLoopBackOff 6 11m

test2-7c95bf5bcb-s7wzk 0/1 CrashLoopBackOff 4 9m3s

web-96d5df5c8-f9t9x 1/1 Running 0 6m31s

web-96d5df5c8-m4fnb 1/1 Running 0 6m31s

web-96d5df5c8-stgdp 1/1 Running 0 6m31s

web01-59859fb9db-tksjv 1/1 Running 0 3m15s

[root@master ~]# kubectl delete deployment test1

deployment.apps “test1” deleted

[root@master ~]# kubectl delete deployment web

deployment.apps “web” deleted

[root@master ~]# kubectl get pods

NAME READY STATUS RESTARTS AGE

b3-76df468677-r2ctd 0/1 CrashLoopBackOff 6 7m8s

nginx-6799fc88d8-4k6rc 1/1 Running 2 27h

test2-7c95bf5bcb-s7wzk 0/1 CrashLoopBackOff 5 12m

web01-59859fb9db-tksjv 1/1 Running 0

// 删除service类型的pod

[root@master ~]# kubectl delete svc nginx

service “nginx” deleted

[root@master ~]# kubectl get svc

NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE

kubernetes ClusterIP 10.96.0.1 443/TCP 27h

//删除所有pod

[root@master ~]# kubectl delete pods --all

//强制删除pod节点

[root@master ~]# kubectl delete pod foo --force

run命令


语法:

$ run NAME --image=image [–env=“key=value”] [–port=port] [–replicas=replicas] [–dry-run=bool] [–overrides=inline-json] [–command] – [COMMAND] [args…]

选项:

–image 指定镜像

–port 暴露容器端口

–labels key=value 指定标签

//启动一个 nginx pod

[root@master ~]# kubectl run nginx --image nginx

pod/nginx created

[root@master ~]# kubectl get pods -o wide

NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES

nginx 0/1 ContainerCreating 0 6s node1

nginx-6799fc88d8-4k6rc 1/1 Running 2 27h 10.244.1.5 node1

//删除nginx

[root@master ~]# kubectl delete pods nginx

pod “nginx” deleted

// 暴露容器的80端口号

[root@master ~]# kubectl run nginx --image nginx --port 80

pod/nginx created

//启动 nginx 并在容器中设置环境变量“app=nginx”和“env=prod”

[root@master ~]# kubectl run nginx --image nginx --labels “aap=nginx,env=prod”

pod/nginx created

//详细信息

[root@master ~]# kubectl describe pod nginx

Name: nginx

Namespace: default

Priority: 0

Node: node1/192.168.129.135

Start Time: Sun, 19 Dec 2021 20:18:10 +0800

Labels: aap=nginx
自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

大型分布式系统犹如一个生命,系统中各个服务犹如骨骼,其中的数据犹如血液,而Kafka犹如经络,串联整个系统。这份Kafka源码笔记通过大量的设计图展示、代码分析、示例分享,把Kafka的实现脉络展示在读者面前,帮助读者更好地研读Kafka代码。

麻烦帮忙转发一下这篇文章+关注我

就这一次!拼多多内部架构师培训Kafka源码笔记(现已绝版)

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!
年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!**

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(备注Java获取)

img

总结

大型分布式系统犹如一个生命,系统中各个服务犹如骨骼,其中的数据犹如血液,而Kafka犹如经络,串联整个系统。这份Kafka源码笔记通过大量的设计图展示、代码分析、示例分享,把Kafka的实现脉络展示在读者面前,帮助读者更好地研读Kafka代码。

麻烦帮忙转发一下这篇文章+关注我

[外链图片转存中…(img-Eo4Z1xjE-1711787434398)]

《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》点击传送门即可获取!

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐