在k8s中所有的内容都抽象为资源,资源实例化之后,叫做对象。一般使用yaml格式的文件来创建符合我们预期期望的pod,这样的yaml文件我们一般称为资源清单

资源清单的格式:

apiVersion: group/apiversion  # 如果没有给定group名称,那么默认为croe,可以使用kubectl api-versions 获取当前k8s版本上所有的apiVersion版本信息(每个版本可能不同)
kind: #资源类别
metadata: #资源元数据
name
namespace #k8s自身的namespace
lables
annotations #主要目的是方便用户阅读查找
spec:期望的状态(disired state)
status:当前状态,本字段有kubernetes自身维护,用户不能去定义

使用kubectl explain 获取资源配置清单中各字段设置的帮助文档:

帮助信息中常见格式如下:
apiVersion <string> #表示字符串类型
metadata <Object> #表示需要嵌套多层字段,需要查看下一级的字段帮助信息
labels <map[string]string> #表示由k:v组成的映射
finalizers <[]string> #表示字串列表
ownerReferences <[]Object> #表示对象列表
hostPID <boolean> #布尔类型
priority <integer> #整型
name <string> -required- #如果类型后面接 -required-,表示为必填字段

----------------------------------------------------------------------------------------

一、前言

kubectl是apiserver的客户端工具,工作在命令行下,能够连接apiserver上实现各种增删改查等各种操作
kubectl官方使用文档:https://kubernetes.io/docs/reference/kubectl/overview/

二、设置kubectl输入命令自动补全

[root@k8s-master01 ~]# yum install -y bash-completion
[root@k8s-master01 ~]# source /usr/share/bash-completion/bash_completion
[root@k8s-master01 ~]# source <(kubectl completion bash)
[root@k8s-master01 ~]# echo "source <(kubectl completion bash)" >> ~/.bashrc

三、使用kubectl进行增、删、查、改等常用操作

1.查看kubectl命令帮助

[root@k8s-master01 ~]# kubectl  -h
kubectl controls the Kubernetes cluster manager.
Find more information at: https://kubernetes.io/docs/reference/kubectl/overview/
Basic Commands (Beginner): #基本命令集,适合新手
create Create a resource from a file or from stdin.
expose 使用 replication controller, service, deployment 或者 pod 并暴露它作为一个 新的
Kubernetes Service
run 在集群中运行一个指定的镜像
set 为 objects 设置一个指定的特征
run-container 在集群中运行一个指定的镜像. This command is deprecated, use "run" instead Basic Commands (Intermediate): #基本命令集,适合有一定基础的人
get 显示一个或更多 resources
explain 查看资源的文档
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
rolling-update 完成指定的 ReplicationController 的滚动升级
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: #高级命令集
apply 通过文件名或标准输入流(stdin)对资源进行配置
patch 使用 strategic merge patch 更新一个资源的 field(s)
replace 通过 filename 或者 stdin替换一个资源
convert 在不同的 API versions 转换配置文件 Settings Commands: #设置相关的命令集
label 更新在这个资源上的 labels
annotate 更新一个资源的注解
completion Output shell completion code for the specified shell (bash or zsh) Other Commands: #其他命令集
api-versions Print the supported API versions on the server, in the form of "group/version"
config 修改 kubeconfig 文件
help Help about any command
plugin Runs a command-line plugin
version 输出 client 和 server 的版本信息 Usage: #使用格式
kubectl [flags] [options] Use "kubectl <command> --help" for more information about a given command. #各个子命令如何获取命令帮助
Use "kubectl options" for a list of global command-line options (applies to all commands). #查看命令的通用选项(所有命令)

#可以看到,命令帮助很人性化的帮我们对各个命令做了划分,让我们可以更好的学习和使用,下面我们开始使用kubectl命令在命令行下测试相关命令的用法

2.创建一个应用程序

1)创建一个应用程序,我们使用  "kubectl run " 命令,是 "kubectl run -h" 查看命令使用帮助,命令说明告诉我们这个命令可以创建一个deployment或者job的容器(deployment和job是什么意思,我们后续再讲)

[root@k8s-master01 ~]# kubectl run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1 --dry-run=true  #nginx-deploy表示deployment的名称 --image表示镜像的地址 --port表示pod暴露的端口 --replicas表示副本的个数 --dry-run表示测试,不真正执行命令
NAME AGE
nginx-deploy <unknown>
[root@k8s-master01 ~]# kubectl run nginx-deploy --image=nginx:1.14-alpine --port=80 --replicas=1 #测试发现命令正常,执行命令
deployment.apps "nginx-deploy" created #提示我们创建成功了
[root@k8s-master01 ~]# kubectl get deployment #我们查看一下deployment的信息,是否有当前创建的
NAME(名称) DESIRED(需要pod的个数) CURRENT(当前已经存在的个数) UP-TO-DATE(最新创建的pod个数) AVAILABLE(可用的pod个数) AGE(deployment存活的时间)
nginx-deploy          1          1 1 1 12s
[root@k8s-master01 ~]# kubectl get pod -o wide #获取pod的信息,-o wide 表示更详细的显示信息
NAME(pod的名称) READY(就绪的个数/总的个数) STATUS(目前的状态) RESTARTS(重启的次数) AGE(存活的时间) IP(pod的IP地址) NODE(部署在哪个节点)
nginx-deploy-7db697dfbd-qkdqp 1/1 Running 0 19s 10.244.2.2 k8s-node02

2)下面我们来访问一下这个nginx pod

集群内访问

[root@k8s-master01 ~]# curl -I 10.244.2.2  #在集群内进行访问,返回状态码为200,访问没有问题
HTTP/1.1 200 OK
Server: nginx/1.14.0
Date: Tue, 30 Oct 2018 03:20:33 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Wed, 12 Sep 2018 00:04:31 GMT
Connection: keep-alive
ETag: "5b98580f-264"
Accept-Ranges: bytes

集群外部访问

当我们在集群之外访问是发现无法访问,那么集群之外的客户端如何才能访问呢?这就需要我们的service服务了,下面我们就创建一个service,是外部客户端可以访问我们的pod

3)创建一个service

[root@k8s-master01 ~]# kubectl expose deployment nginx-deploy  --name=nginx   --port=80 --target-port=80 --type=NodePort  #
service "nginx" exposed #使用kubectl expose 可以创建一个service ,可以使用 kubectl expose -h命令查看命令帮助,由于篇幅有限,各参数含义参考命令帮助
[root@k8s-master01 ~]# kubectl get svc -o wide #查看我们service的详细信息
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE SELECTOR
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 54m <none>
nginx NodePort 10.107.16.3 <none> 80:30757/TCP 56s run=nginx-deploy #这是我们新创建service的信息,使用30757端口进行映射

使用集群外客户端再一次访问,需要使用集群任意节点的IP地址加上暴露的端口号

service服务有个特点,如果端口暴露类型为NodePort,那么可以通过集群内任意一台主机加暴露的端口进行访问

4)现在我们来删除刚刚参加的pod,看看会发生什么

[root@k8s-master01 ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-deploy-7db697dfbd-qkdqp 1/1 Running 0 2h
[root@k8s-master01 ~]# kubectl delete pod nginx-deploy-7db697dfbd-qkdqp #删除deployment下的pod
pod "nginx-deploy-7db697dfbd-qkdqp" deleted
[root@k8s-master01 ~]# kubectl get pod -w #然后迅速的查看pod状态,-w是一直等待的意思,我们可以看到pod被删除后系统又自动创建一个新的pod (deployment管理的pod会尽量一直保持我们期望的状态)
NAME READY STATUS RESTARTS AGE
nginx-deploy-7db697dfbd-46x7s 0/1 ContainerCreating 0 6s
nginx-deploy-7db697dfbd-46x7s 1/1 Running 0 15s

查看下deployment和service的状态

NAME           DESIRED   CURRENT   UP-TO-DATE   AVAILABLE   AGE
nginx-deploy 1 1 1 1 2h
[root@k8s-master01 ~]# kubectl get svc #service的名称和IP没有发生改变
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 2h
nginx NodePort 10.107.16.3 <none> 80:30757/TCP 1h

再一次访问service地址,看看是否可以访问成功

没有问题,为什么我们删除pod之后重新创建service还可创建成功呢?这是因为service和pod直接是使用标签来进行关联的

[root@k8s-master01 ~]# kubectl describe svc nginx   #查看nginx的信息
Name: nginx
Namespace: default
Labels: run=nginx-deploy #我们看到nginx的标签为run=nginx-deploy
Annotations: <none>
Selector: run=nginx-deploy
Type: NodePort
IP: 10.107.16.3
Port: <unset> 80/TCP
TargetPort: 80/TCP
NodePort: <unset> 30757/TCP
Endpoints: 10.244.1.2:80
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>
[root@k8s-master01 ~]# kubectl describe pod nginx-deploy-7db697dfbd-46x7s #在看下新创建的pod信息
Name: nginx-deploy-7db697dfbd-46x7s
Namespace: default
Node: k8s-node01/172.16.150.213
Start Time: Tue, 30 Oct 2018 13:06:02 +0800
Labels: pod-template-hash=3862538968
run=nginx-deploy #同样也拥有run=nginx-deploy的标签
Annotations: <none>
Status: Running
IP: 10.244.1.2
.......(以下省略)

5)下面我们来尝试手动对nginx-deploy这个deployment进行扩容和缩减操作

扩容:

[root@k8s-master01 ~]# kubectl get deployment
NAME DESIRED CURRENT UP-TO-DATE AVAILABLE AGE
nginx-deploy 1 1 1 1 2h
[root@k8s-master01 ~]# kubectl scale --replicas=5 deployment nginx-deploy #对名称为nginx-deploy类型为deployment的对象进行扩容,有初始的1个扩容到五个
deployment.extensions "nginx-deploy" scaled
[root@k8s-master01 ~]# kubectl get pod -w #我们可以看到pod扩容的过程
NAME READY STATUS RESTARTS AGE
nginx-deploy-7db697dfbd-46x7s 1/1 Running 0 14m
nginx-deploy-7db697dfbd-lr7wx 0/1 ContainerCreating 0 1s
nginx-deploy-7db697dfbd-sk48l 0/1 ContainerCreating 0 1s
nginx-deploy-7db697dfbd-tdtc8 0/1 ContainerCreating 0 1s
nginx-deploy-7db697dfbd-xg25w 0/1 ContainerCreating 0 1s
nginx-deploy-7db697dfbd-xg25w 1/1 Running 0 11s
nginx-deploy-7db697dfbd-lr7wx 1/1 Running 0 12s
nginx-deploy-7db697dfbd-sk48l 1/1 Running 0 12s
nginx-deploy-7db697dfbd-tdtc8 1/1 Running 0 12s

缩减:

[root@k8s-master01 ~]# kubectl scale --replicas=3 deployment nginx-deploy  #使用replicas指定我们想要的个数即可
deployment.extensions "nginx-deploy" scaled
[root@k8s-master01 ~]# kubectl get pod -w
NAME READY STATUS RESTARTS AGE
nginx-deploy-7db697dfbd-46x7s 1/1 Running 0 16m
nginx-deploy-7db697dfbd-lr7wx 0/1 Terminating 0 2m
nginx-deploy-7db697dfbd-sk48l 0/1 Terminating 0 2m
nginx-deploy-7db697dfbd-tdtc8 1/1 Running 0 2m
nginx-deploy-7db697dfbd-xg25w 1/1 Running 0 2m
nginx-deploy-7db697dfbd-sk48l 0/1 Terminating 0 2m
nginx-deploy-7db697dfbd-sk48l 0/1 Terminating 0 2m
nginx-deploy-7db697dfbd-lr7wx 0/1 Terminating 0 2m
nginx-deploy-7db697dfbd-lr7wx 0/1 Terminating 0 2m

6.现在我们对nginx-deploy进行滚动升级及回滚操作,由1.14-alpine 升级到1.15-alpine,并由1.15-alpine回滚到1.14-alpine版本(nginx在docker hub上版本信息:https://hub.docker.com/_/nginx/)

滚动升级:

[root@k8s-master01 ~]# kubectl set image deployment nginx-deploy nginx-deploy=nginx:1.15-alpine --record #具体命令及参数含义请参考命令帮助
deployment.apps "nginx-deploy" image updated
[root@k8s-master01 ~]# kubectl get pod -w #观察滚动升级的过程
NAME READY STATUS RESTARTS AGE
nginx-deploy-6c7dd4d9bf-c58mr 0/1 ContainerCreating 0 3s
nginx-deploy-6c7dd4d9bf-fvmt5 0/1 ContainerCreating 0 3s
nginx-deploy-7db697dfbd-46x7s 1/1 Running 0 27m
nginx-deploy-7db697dfbd-xg25w 1/1 Running 0 13m
nginx-deploy-6c7dd4d9bf-c58mr 1/1 Running 0 28s
nginx-deploy-7db697dfbd-xg25w 1/1 Terminating 0 13m
nginx-deploy-6c7dd4d9bf-lp7w2 0/1 Pending 0 0s
nginx-deploy-6c7dd4d9bf-lp7w2 0/1 Pending 0 0s
nginx-deploy-6c7dd4d9bf-lp7w2 0/1 ContainerCreating 0 0s
nginx-deploy-7db697dfbd-xg25w 0/1 Terminating 0 13m
nginx-deploy-7db697dfbd-xg25w 0/1 Terminating 0 13m
nginx-deploy-7db697dfbd-xg25w 0/1 Terminating 0 13m
nginx-deploy-6c7dd4d9bf-fvmt5 1/1 Running 0 30s
nginx-deploy-7db697dfbd-46x7s 1/1 Terminating 0 27m
nginx-deploy-7db697dfbd-46x7s 0/1 Terminating 0 27m
nginx-deploy-7db697dfbd-46x7s 0/1 Terminating 0 27m
nginx-deploy-7db697dfbd-46x7s 0/1 Terminating 0 27m
^C[root@k8s-master01 ~]# kubectl get pod
NAME READY STATUS RESTARTS AGE
nginx-deploy-6c7dd4d9bf-c58mr 1/1 Running 0 41s
nginx-deploy-6c7dd4d9bf-fvmt5 1/1 Running 0 41s
nginx-deploy-6c7dd4d9bf-lp7w2 0/1 ContainerCreating 0 13s
[root@k8s-master01 ~]# kubectl get pod #查看最后的状态,比对一下现在的pod和之前的pod是否相同
NAME READY STATUS RESTARTS AGE
nginx-deploy-6c7dd4d9bf-c58mr 1/1 Running 0 1m
nginx-deploy-6c7dd4d9bf-fvmt5 1/1 Running 0 1m
nginx-deploy-6c7dd4d9bf-lp7w2 1/1 Running 0 45s

查看任意一个pod的信息,看看镜像是否升级

[root@k8s-master01 ~]# kubectl describe pod nginx-deploy-6c7dd4d9bf-c58mr
Name: nginx-deploy-6c7dd4d9bf-c58mr
Namespace: default
Node: k8s-node02/172.16.150.214
Start Time: Tue, 30 Oct 2018 13:33:15 +0800
Labels: pod-template-hash=2738808569
run=nginx-deploy
Annotations: <none>
Status: Running
IP: 10.244.2.5
Controlled By: ReplicaSet/nginx-deploy-6c7dd4d9bf
Containers:
nginx-deploy:
Container ID: docker://934e8074c90e0a5114ae846a2405515885efbcf1fcba8653a66d303f94e47253
Image: nginx:1.15-alpine #image信息
Image ID: docker-pullable://docker.io/nginx@sha256:ae5da813f8ad7fa785d7668f0b018ecc8c3a87331527a61d83b3b5e816a0f03c
......(以下省略)

版本回滚:

[root@k8s-master01 ~]# kubectl rollout undo deployment nginx-deploy     #--to-revision 参数可以指定回退的版本
deployment.apps "nginx-deploy"
[root@k8s-master01 ~]# kubectl get pod -w
NAME READY STATUS RESTARTS AGE
nginx-deploy-6c7dd4d9bf-c58mr 1/1 Running 0 7m
nginx-deploy-6c7dd4d9bf-fvmt5 1/1 Running 0 7m
nginx-deploy-6c7dd4d9bf-lp7w2 0/1 Terminating 0 7m
nginx-deploy-7db697dfbd-gskcv 0/1 ContainerCreating 0 4s
nginx-deploy-7db697dfbd-ssws8 0/1 ContainerCreating 0 4s
nginx-deploy-7db697dfbd-ssws8 1/1 Running 0 11s
nginx-deploy-6c7dd4d9bf-fvmt5 1/1 Terminating 0 7m
nginx-deploy-7db697dfbd-2qh7v 0/1 Pending 0 0s
nginx-deploy-7db697dfbd-2qh7v 0/1 Pending 0 0s
nginx-deploy-7db697dfbd-2qh7v 0/1 ContainerCreating 0 0s
nginx-deploy-6c7dd4d9bf-fvmt5 0/1 Terminating 0 7m
nginx-deploy-6c7dd4d9bf-lp7w2 0/1 Terminating 0 7m
nginx-deploy-6c7dd4d9bf-lp7w2 0/1 Terminating 0 7m
....(以下省略)

查看任意一个pod的信息,看看镜像是否回滚到1.14-alpine版本

[root@k8s-master01 ~]# kubectl  get pod
NAME READY STATUS RESTARTS AGE
nginx-deploy-7db697dfbd-2qh7v 1/1 Running 0 5m
nginx-deploy-7db697dfbd-gskcv 1/1 Running 0 5m
nginx-deploy-7db697dfbd-ssws8 1/1 Running 0 5m
[root@k8s-master01 ~]# kubectl describe pod nginx-deploy-7db697dfbd-2qh7v #查看任意一个pod的版本信息,查看是否回滚到1.14版本
Name: nginx-deploy-7db697dfbd-2qh7v
Namespace: default
Node: k8s-node02/172.16.150.214
Start Time: Tue, 30 Oct 2018 13:40:55 +0800
Labels: pod-template-hash=3862538968
run=nginx-deploy
Annotations: <none>
Status: Running
IP: 10.244.2.7
Controlled By: ReplicaSet/nginx-deploy-7db697dfbd
Containers:
nginx-deploy:
Container ID: docker://b75740e5919bd975755b256c83e03b63ea95cf2307ffc606abd03b59fea6634a
Image: nginx:1.14-alpine
Image ID: docker-pullable://docker.io/nginx@sha256:8976218be775f4244df2a60a169d44606b6978bac4375192074cefc0c7824ddf

下面我们对刚刚操作的命令做一个大致的总结:

kubectl run       #创建一个deployment或job来管理创建的容器
kubectl get #显示一个或多个资源,可以使用标签过滤,默认查看当前名称空间的资源
kubectl expose #将一个资源暴露为一个新的kubernetes的service资源,资源包括pod (po), service (svc), replicationcontroller (rc),deployment(deploy), replicaset (rs)
kubectl describe #显示特定资源或资源组的详细信息
kubectl scale #可以对Deployment, ReplicaSet, Replication Controller, 或者StatefulSet设置新的值,可以指定一个或多个先决条件
kubectl set #更改现有的应用程序资源
kubectl rollout #资源回滚管理

K8s快速入门的更多相关文章

  1. 菜鸟系列k8s——k8s快速入门(1)

    k8s快速入门 1.快速创建k8s集群 参考网站:https://kubernetes.io/docs/tutorials/kubernetes-basics 点击教程菜单 1. Create a C ...

  2. .NET Core on K8S快速入门课程学习笔记

    课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 目录 01-介绍K8s是什么 02-为什么要学习k8s 03-如何学习k8s ...

  3. .NET Core on K8S快速入门课程--学习笔记

    课程链接:http://video.jessetalk.cn/course/explore 良心课程,大家一起来学习哈! 目录 01-介绍K8s是什么 02-为什么要学习k8s 03-如何学习k8s ...

  4. k8s学习笔记之三:k8s快速入门

    一.前言 kubectl是apiserver的客户端工具,工作在命令行下,能够连接apiserver上实现各种增删改查等各种操作 kubectl官方使用文档:https://kubernetes.io ...

  5. 3、kubernetes应用快速入门190625

    一.kubernetes应用入门 1.kubectl命令 Basic Commands create Create a resource from a file or from stdin. expo ...

  6. Kubernetes快速入门

    二.Kubernetes快速入门 (1)Kubernetes集群的部署方法及部署要点 (2)部署Kubernetes分布式集群 (3)kubectl使用基础 1.简介 kubectl就是API ser ...

  7. istio部署-快速入门

    参考 istio/istio Quick Start Evaluation Install fleeto/sleep fleeto/flaskapp 本文为 istio 快速入门部署,一般用于演示环境 ...

  8. K8S 从入门到放弃系列文章目录(Kubernetes 1.14)

    1)软件环境 软件 版本 系统 Centos7.5 Kubernetes 1.14.1 Docker 18.09 Calico 3.6 Etcd 3.3.12 2)部署过程简单概要 三台master节 ...

  9. Golang Module快速入门

    前言: 在Golang1.11之前的版本中,官方没有提供依赖和包管理工具.开发者通常会使用vendor或者glide的方式来管理依赖(也有直接使用GOPATH多环境方式),而在Golang1.11之后 ...

随机推荐

  1. Java BitSet解决海量数据去重

    先提一个问题,怎么在40亿个整数中找到那个唯一重复的数字? 第一想法就是Set的不可重复性,依次把每个数字放入HashSet中,当放不去进去的时候说明这就是重复的数字,输出这个数字. if(hs.co ...

  2. 友善RK3399/NanoPC-T4开发板wiringPi Python库访问GPIO外设实例讲解 -【申嵌视频】

    1 wiringPi for Python简介 wiringPi for Python是wiringPi的Python语言扩展,用于在Python程序中操作GPIO/I2C/SPI库/UART/PWM ...

  3. CentOS7.3安装Go运行和开发环境

    https://blog.csdn.net/warnerwu/article/details/73825105

  4. CentOS7.5实践快速部署LAMP+Tomcat成功运行阿里云或者腾讯云

    安装一定要按照顺序来 1 先安装JDK+TOMCAT 点击看这里 2 在安装LAMP  点击看这里 3 最关键的就是这里 LAMP+Tomcat整合 我们不用源码编译安装,而是使用yum命令来完成. ...

  5. crf++实现中文分词简单例子 (Windows crf++0.58 python3)

    学习自然语言处理的同学都知道,条件随机场(crf)是个好东西.虽然它的原理确实理解起来有点困难,但是对于我们今天用到的这个crf工具crf++,用起来却是挺简单方便的. 今天只是简单试个水,参考别人的 ...

  6. 基于STM8的GPIO操作---STM8-第一章

    1. 综诉 也许单片机在你看来是一件不太容易的事,但据我所知,单片机,无非就是控制它的GPIO口,所以可以看出,学会如何操作控制GPIO口对使用单片机来说是很重要的一件事. 在装载STM8的单片机中, ...

  7. Listen and Write 18th Feb 2019

    Weighted blanket has becomes very popular in many homes. they claim it can provide better sleep and ...

  8. mysql error(2003) 10060的再解决

    前段时间在window虚拟机上处理过这样的问题 现在在linux上也遇到了这样的问题一项一项的排查 1.网络问题,ping的通 但是telnet (ip)  (端口号)失败,telnet(ip)都失败 ...

  9. Redhat Linux 配置Xmanager

    1. vi /etc/inittab id:5:initdefault:  //设置系统运行级为5,如果本来就是5就无需修改 id:5:respawn:/usr/sbin/gdm    //添加到最后 ...

  10. lucene搜索之高级查询

    使用Query子类查询 MatchAllDocsQuery TermQuery NumericRangeQuery BooleanQuery 使用QueryParser QueryParser Mul ...