kubectl命令举例

为了使读者能够快速掌握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:         name=nginx

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/ nginx@sha256: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

root@my-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 --image=nginx nginx-app --port=8080

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还提供了许多功能强大的命令,读者可以参考其他的技术文档,在此不再详细介绍。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/124214.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

安装JDK(Java SE Development Kit)超详细教程

文章时间 &#xff1a; 2023-10-04 1. 下载地址 直接去下载地址&#xff1a;https://www.oracle.com/java/technologies/downloads/ &#xff08;需要翻墙&#xff0c;不想翻墙或者不想注册oracel账号的&#xff0c;直接去我的阿里云盘&#xff09; 阿里云盘&#xff1a;http…

ElasticSearch - 基于 DSL 、JavaRestClient 实现数据聚合

目录 一、数据聚合 1.1、基本概念 1.1.1、聚合分类 1.1.2、特点 1.2、DSL 实现 Bucket 聚合 1.2.1、Bucket 聚合基础语法 1.2.2、Bucket 聚合结果排序 1.2.3、Bucket 聚合限定范围 1.3、DSL 实现 Metrics 聚合 1.4、基于 JavaRestClient 实现聚合 1.4.1、组装请求 …

使用CrawlSpider爬取全站数据。

CrawpSpider和Spider的区别 CrawlSpider使用基于规则的方式来定义如何跟踪链接和提取数据。它支持定义规则来自动跟踪链接&#xff0c;并可以根据链接的特征来确定如何爬取和提取数据。CrawlSpider可以对多个页面进行同样的操作&#xff0c;所以可以爬取全站的数据。CrawlSpid…

AtCoder Beginner Contest 233 (A-Ex)

A.根据题意模拟即可 B.根据题意模拟即可 C.直接用map 进行dp即可 D.用前缀和进行模拟&#xff0c;用map统计前缀和&#xff0c;每次计算当前前缀和-k的个数就是以当前点为右端点答案。 E - Σ[k0..10^100]floor(X&#xff0f;10^k) (atcoder.jp) &#xff08;1&#xff09;…

代码随想录算法训练营第五十六天 | 动态规划 part 14 | 1143.最长公共子序列、1035.不相交的线、53. 最大子序和(dp)

目录 1143.最长公共子序列思路代码 1035.不相交的线思路代码 53. 最大子序和&#xff08;dp&#xff09;思路代码 1143.最长公共子序列 Leetcode 思路 本题和718. 最长重复子数组 区别在于这里不要求是连续的了&#xff0c;但要有相对顺序&#xff0c;即&#xff1a;“ace” …

第82步 时间序列建模实战:LightGBM回归建模

基于WIN10的64位系统演示 一、写在前面 这一期&#xff0c;我们介绍LightGBM回归。 同样&#xff0c;这里使用这个数据&#xff1a; 《PLoS One》2015年一篇题目为《Comparison of Two Hybrid Models for Forecasting the Incidence of Hemorrhagic Fever with Renal Syndr…

【网络通信三要素】TCP与UDP快速入门

网络通信三要素 1.什么是网络编程&#xff1f; 可以让设备中的程序&#xff0c;与网络上其他设备中的程序进行数据交互&#xff0c;从而实现网络通信的手段&#xff0c;java.net.*包下提供了网络编程的解决方案 2.基本的通信架构 基本的通信架构有2种形式&#xff1a;CS架构…

【数据结构---排序】很详细的哦

本篇文章介绍数据结构中的几种排序哦~ 文章目录 前言一、排序是什么&#xff1f;二、排序的分类 1.直接插入排序2.希尔排序3.选择排序4.冒泡排序5.快速排序6.归并排序总结 前言 排序在我们的生活当中无处不在&#xff0c;当然&#xff0c;它在计算机程序当中也是一种很重要的操…

QT中计算日期差,并进行加减

1、界面上拖动两个QDateTimeEdit控件&#xff0c;同时设置为开始时间与结束时间&#xff0c;然后再来拖动个pushButton&#xff0c;命名为查询功能&#xff0c;然后槽函数中&#xff0c;实现如下&#xff1a; void Database::on_pushButton_4_clicked() {QDateTime time1 u…

数据结构-快速排序-C语言实现

引言&#xff1a;快速排序作为一种非常经典且高效的排序算法&#xff0c;无论是工作还是面试中广泛用到&#xff0c;作为一种分治思想&#xff0c;需要熟悉递归思想。下面来讲讲快速排序的实现和改进。 老规矩&#xff0c;先用图解来理解一下&#xff1a;&#xff08;这里使用快…

向日葵todesk使用遇到问题

1 设置向日葵自启动 查找向日葵安装位置 dpkg -L sunloginclient 在启动程序中加入向日葵 2 解决正在进入桌面 一直无法进入界面 sudo apt-get update sudo apt-get upgrade sudo apt-get install lightdm # 最后一个执行过程中选择lightdm 3 todesk不能正常启动 sudo sys…

证书显示未受信任,生成的证书过期

此时若是导入证书后&#xff0c;证书显示未受信任&#xff0c;则说明我们缺失最新的AppleWWDRCA证书 解决方案&#xff1a; 重新下载AppleWWDRCA并安装。即下载最新的AppleWWDRCA证书&#xff0c;双击安装到“登录”项的钥匙串下&#xff1b;然后再安装你的开发证书或者发布证书…