自己动手制作网站,锡林郭勒盟建设工程造价信息管理网站,浙江省水利建设行业协会网站,商城微网站建设为了使读者能够快速掌握kubectl命令的使用方法#xff0c;下面对常用的命令进行介绍。
1. kubectl create命令
此命令通过文件或者标准输入创建一个资源对象#xff0c;支持YAML或者JSON格式的配置文件。例如#xff0c;如果用户创建了一个Nginx的YAML配置文件#xff0c…
为了使读者能够快速掌握kubectl命令的使用方法下面对常用的命令进行介绍。
1. kubectl create命令
此命令通过文件或者标准输入创建一个资源对象支持YAML或者JSON格式的配置文件。例如如果用户创建了一个Nginx的YAML配置文件其内容如下
apiVersion: v1
kind: ReplicationController
metadata: name: nginx-controller
spec: replicas: 2 selector: name: nginx template: metadata: labels: name: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80
用户可以使用以下命令创建MySQL的副本控制器
$ kubectl create -f nginx.yaml
replicationcontroller nginx-controller created
2. kubectl get命令
用户可以通过此命令列出一个或多个资源对象该命令的参数为资源类型名称。例如使用下面的命令列出当前命名空间下的节点
$ kubectl get nodes
NAME STATUS AGE
192.168.1.122 Ready 12d
192.168.1.123 Ready 12d
使用下面的命令列出所有的服务
$ kubectl get services
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.254.0.1 none 443/TCP 12d
...
需要在Node上执行准备redhat-ca.cr文件
$ yum install *rhsm*
$ wget http://mirror.centos.org/centos/7/os/x86_64/Packages/ python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm
$ rpm2cpio python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm | cpio -iv --to-stdout ./etc/rhsm/ca/redhat-uep.pem | tee /etc/rhsm/ca/redhat-uep.pem
$ docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest
下面的命令以比较详细的方式列出当前命名空间中的Pod
$ kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
nginx-controller-g5165 1/1 Running 0 4m 172.17.0.3 127.0.0.1
nginx-controller-zz0dk 1/1 Running 0 4m 172.17.0.2 127.0.0.1
...
3. kubectl describe命令
此命令用于显示一个或多个资源对象的详细信息。例如我们想要获取名称为nginx-controller-g5165的Pod的详细信息可以使用以下命令
$ kubectl describe pods/nginx-controller-g5165
Name: nginx-controller-g5165
Namespace: default
Node: 127.0.0.1/127.0.0.1
Start Time: Sat, 23 Mar 2023 07:00:19 0800
Labels: namenginx
Status: Running
IP: 172.17.0.3
Controllers: ReplicationController/nginx-controller
Containers: nginx: Container ID: docker://5c427e437a4cb413e33b12c3dcc5d16ec1772876a4e5552669d842edf8bb1372 Image: nginx Image ID: docker-pullable://docker.io/ nginxsha256:98efe605f61725fd817ea69521b0eeb32bef007af0e3d0aeb6258c6e6fe7fc1a Port: 80/TCP State: Running Started: Sat, 23 Mar 2023 07:03:37 0800 Ready: True Restart Count: 0 Volume Mounts: none Environment Variables: none
Conditions: Type Status Initialized True Ready True PodScheduled True
No volumes.
...
4. kubectl exec命令
此命令用于在Pod的容器中执行一个命令。例如下面的命令在名称为my-nginx- 379829228-8gfbb的容器中执行/bin/bash命令
$ kubectl exec -it my-nginx-379829228-8gfbb /bin/bash
rootmy-nginx-379829228-8gfbb:/#
$ kubectl exec -it nginx-c5cff9dcc-dr88w /bin/bash
执行完以后可以发现Shell的命令提示符发生了变化表明已经进入了容器的Shell环境中。
如果想要在容器中执行ls命令可以使用以下方式
$ kubectl exec nginx-controller-g5165 ls
bin
boot
dev
etc
home
lib
lib64
media
...
在上面的命令中nginx-controller-g5165为Pod的名称。
5. kubectl run命令
该命令用来创建一个应用。与kubectl create命令不同在该命令中所有的选项可以通过命令行指定。例如使用下面的命令创建一个Nginx应用
$ kubectl run --imagenginx nginx-app --port8080
deployment nginx-app created
执行完之后通过get命令查看创建进度如下所示
$ kubectl get pods
NAME READY STATUS RESTARTS AGE
nginx-app-2743647498-f6qc6 1/1 Running 0 1m
...
可以得知刚刚创建的Pod已经处于运行状态。
6. kubectl delete命令
该命令用来删除集群中的资源。例如下面的命令删除名称为nginx-controller-zz0dk的Pod
$ kubectl delete pods/nginx-controller-zz0dk
pod nginx-controller-zz0dk deleted
除了上面介绍的几个命令之外kubectl还提供了许多功能强大的命令读者可以参考其他的技术文档在此不再详细介绍。