查看当前所有namespaces

[root@master ~]# kubectl get namespaces -A
NAME STATUS AGE
default Active 63d
hkd Active 31d
kube-node-lease Active 57d
kube-public Active 63d
kube-system Active 63d
nginx-ingress Active 30d
test Active 30d

查看指定namespaces 下的ingress

[root@master ~]# kubectl get ingress --namespace=test
NAME CLASS HOSTS ADDRESS PORTS AGE
cloud-eureka <none> cloud-eureka.test.demo.kuboard.cn 80 26d

查看ingress详情

[root@master ~]# kubectl describe ingress --namespace=test
Name: cloud-eureka
Namespace: test
Address:
Default backend: default-http-backend:80 (<error: endpoints "default-http-backend" not found>)
Rules:
Host Path Backends
---- ---- --------
cloud-eureka.test.demo.kuboard.cn
/ cloud-eureka:sntdnc (10.100.171.66:8761)
Annotations: k8s.kuboard.cn/displayName: eureka注册中心
k8s.kuboard.cn/workload: cloud-eureka
Events: <none>

从ingress详情中可以看到,ingress下面的service名称是cloud-eureka,目前该service下只有一个pod:10.100.171.66:8761

查看service

[root@master ~]# kubectl get service --namespace=test
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
cloud-config NodePort 10.96.249.98 <none> 8888:32155/TCP 21d
cloud-eureka NodePort 10.96.181.80 <none> 8761:31739/TCP 27d

service详情

[root@master ~]# kubectl describe service cloud-eureka --namespace=test
Name: cloud-eureka
Namespace: test
Labels: k8s.kuboard.cn/layer=cloud
k8s.kuboard.cn/name=cloud-eureka
Annotations: k8s.kuboard.cn/displayName: eureka注册中心
k8s.kuboard.cn/workload: cloud-eureka
Selector: k8s.kuboard.cn/layer=cloud,k8s.kuboard.cn/name=cloud-eureka
Type: NodePort
IP: 10.96.181.80
Port: sntdnc 8761/TCP
TargetPort: 8761/TCP
NodePort: sntdnc 31739/TCP
Endpoints: 10.100.171.66:8761
Session Affinity: None
External Traffic Policy: Cluster
Events: <none>

查看pod

[root@master ~]# kubectl get pods --namespace=test
NAME READY STATUS RESTARTS AGE
cloud-config-0 1/1 Running 5 21d
cloud-eureka-0 1/1 Running 3 21d

pod详情

[root@master ~]# kubectl describe pods cloud-eureka-0 --namespace=test
Name: cloud-eureka-0
Namespace: test
Priority: 0
Node: worker/192.168.75.11
Start Time: Thu, 09 Jul 2020 09:12:57 +0800
Labels: controller-revision-hash=cloud-eureka-7f95b587f
k8s.kuboard.cn/layer=cloud
k8s.kuboard.cn/name=cloud-eureka
statefulset.kubernetes.io/pod-name=cloud-eureka-0
Annotations: cni.projectcalico.org/podIP: 10.100.171.66/32
cni.projectcalico.org/podIPs: 10.100.171.66/32
Status: Running
IP: 10.100.171.66
IPs:
IP: 10.100.171.66
Controlled By: StatefulSet/cloud-eureka
Containers:
hkd-eureka:
Container ID: docker://5df85e2f1769341b9903ef060405780cb3fe5a0037e23177f64f54e616598bcc
Image: idocker.io/hkd-eureka:0.5
Image ID: docker-pullable://idocker.io/hkd-eureka@sha256:0057434b09b824a76fdd7006c107c3d295f26c300080b305a9cad455750450c8
Port: <none>
Host Port: <none>
State: Running
Started: Thu, 30 Jul 2020 09:55:41 +0800
Last State: Terminated
Reason: Error
Exit Code: 143
Started: Thu, 30 Jul 2020 09:55:25 +0800
Finished: Thu, 30 Jul 2020 09:55:26 +0800
Ready: True
Restart Count: 3
Environment: <none>
Mounts:
/var/run/secrets/kubernetes.io/serviceaccount from default-token-7tr62 (ro)
Conditions:
Type Status
Initialized True
Ready True
ContainersReady True
PodScheduled True
Volumes:
default-token-7tr62:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-7tr62
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events: <none>

从pod详情中可以看到该pod所在node主机,里面的容器等信息

进入pod里的容器中

[root@master ~]# kubectl exec -it cloud-eureka-0 --namespace=test -- /bin/sh
/ # date
Thu Jul 30 12:11:20 CST 2020
/ # ps -ef
PID USER TIME COMMAND
1 root 2:35 java -Djava.security.egd=file:/dev/./urandom -jar /hkd-eureka-1.0.jar
101 root 0:00 /bin/sh
118 root 0:00 /bin/sh
125 root 0:00 ps -ef
/ #

临时执行pod容器中的命令

[root@master ~]# kubectl exec  cloud-eureka-0 --namespace=test -- date
Thu Jul 30 13:48:41 CST 2020

常用命令总结

kubectl get 资源类型

获取类型为Deployment的资源列表

kubectl get deployments

获取类型为Pod的资源列表

kubectl get pods

获取类型为Node的资源列表

kubectl get nodes

# 查看所有名称空间的 Deployment
kubectl get deployments -A
kubectl get deployments --all-namespaces # 查看 kube-system 名称空间的 Deployment
kubectl get deployments -n kube-system

并非所有对象都在名称空间里

kubectl describe 资源类型 资源名称

查看名称为nginx-XXXXXX的Pod的信息

kubectl describe pod nginx-XXXXXX

查看名称为nginx的Deployment的信息

kubectl describe deployment nginx

kubectl logs - 查看pod中的容器的打印日志(和命令docker logs 类似)

查看名称为nginx-pod-XXXXXXX的Pod内的容器打印的日志

kubectl logs -f nginx-pod-XXXXXXX

kubectl exec - 在pod中的容器环境内执行命令(和命令docker exec 类似)

在名称为nginx-pod-xxxxxx的Pod中运行bash

kubectl exec -it nginx-pod-xxxxxx -- /bin/bash

k8s使用心得的更多相关文章

  1. K8S学习心得 == 创建容器influxdb的RC和SVC

    附上:YAML在线检查:http://nodeca.github.io/js-yaml Part 1: 部署Influxdb的RC文件,步骤如下: step 1: influxdb-rc.yaml文件 ...

  2. K8S学习心得 == kube-controller-manager 报错configmaps "extension-apiserver-authentication" is forbidden: User "kubernetes" cannot get resource "configmaps" in API group ""

    当我按照教材设置证书,配置好kube-controller的相关条件后,启动kube-controller-manage组件,却意外报错. 一.基本信息如下: 1. kube-controller-m ...

  3. K8S学习心得 == 安装虚拟路由器RouterOS

    使用RouterOS, 搭建虚拟路由器,并且配置多个网关互通.配置步骤如下.   基础配置 1. RouterOS 服务器,设置如下             2. VM 不同网段的设置 == 192. ...

  4. 朱晔的互联网架构实践心得S2E4:小议微服务的各种玩法(古典、SOA、传统、K8S、ServiceMesh)

    十几年前就有一些公司开始践行服务拆分以及SOA,六年前有了微服务的概念,于是大家开始思考SOA和微服务的关系和区别.最近三年Spring Cloud的大火把微服务的实践推到了高潮,而近两年K8S在容器 ...

  5. 详解k8s一个完整的监控方案(Heapster+Grafana+InfluxDB) - kubernetes

    1.浅析整个监控流程 heapster以k8s内置的cAdvisor作为数据源收集集群信息,并汇总出有价值的性能数据(Metrics):cpu.内存.网络流量等,然后将这些数据输出到外部存储,如Inf ...

  6. 详解k8s零停机滚动发布微服务 - kubernetes

    1.前言 在当下微服务架构盛行的时代,用户希望应用程序时时刻刻都是可用,为了满足不断变化的新业务,需要不断升级更新应用程序,有时可能需要频繁的发布版本.实现"零停机"." ...

  7. k8s踩坑记 - kubeadm join 之 token 失效

    抛砖引玉 环境 centos 7 amd64 两台 kubernetes 1.10 伴随着k8s1.10版本的发布,前天先在一台机器上搭建了k8s单机版集群,即既是master,也是node,按照经验 ...

  8. 详解k8s组件Ingress边缘路由器并落地到微服务 - kubernetes

    写在前面 Ingress 英文翻译 进入;进入权;进食,更准确的讲就是入口,即外部流量进入k8s集群必经之口.这到大门到底有什么作用?我们如何使用Ingress?k8s又是如何进行服务发现的呢?先看一 ...

  9. k8s实践 - 如何优雅地给kong网关配置证书和插件。

    前言 从去年上半年微服务项目上线以来,一直使用kong作为微服务API网关,整个项目完全部署于k8s,一路走来,对于k8s,对于kong,经历了一个从无到有,从0到1的过程,也遇到过了一些坎坷,今天准 ...

随机推荐

  1. cookie和seesion的区别和联系

    今天来聊聊cookie和session的区别和联系.首先先确定一个各自的定义吧: cookies: 网站用于鉴别用户身份和追踪用户登录状态. 存在于浏览器端的一小段文本数据 session: 中文称之 ...

  2. 非root用户linux下安装FFTW

    一.环境准备 确保g++可用本次编译是基于 GNU C++ 环境的,因此务必确定g++编译器可用,使用如下命令验证:命令:g++ --version出现类似如下输出则表明编译器可用: 二.下载FFTW ...

  3. B.E.M 规范

    BEM文档 BEM: A New Front-End Methodology 如何看待 CSS 中 BEM 的命名方式? Battling BEM CSS: 10 Common Problems An ...

  4. AlexNet—论文分析及复现

    AlexNet卷积神经网络是由Alex Krizhevsky等人在2012年的ImagNet图像识别大赛获得冠军的一个卷积神经网络,该网络放到现在相对简单,但也是深度学习不错的卷积神经网络.论文:&l ...

  5. Blazor和Vue对比学习(进阶2.2.3):状态管理之状态共享,Blazor的依赖注入和第三方库Fluxor

    Blazor没有提供状态共享的方案,虽然依赖注入可以实现一个全局对象,这个对象可以拥有状态.计算属性.方法等特征,但并不具备响应式.比如,组件A和组件B,都注入了这个全局对象,并引用了全局对象上的数据 ...

  6. 急如闪电快如风,彩虹女神跃长空,Go语言高性能Web框架Iris项目实战-初始化项目ep00

    在Golang Web编程的世界里,君不言高性能则已,言高性能必称Iris.彩虹女神的名号响彻寰宇.名动江湖,单论一个快字,无人能出其右,就连以简洁轻量著称于世的Gin也难以望其项背,只见彩虹女神Ir ...

  7. HCIA-datacom 4.3 实验三:网络地址转换配置实验

    实验介绍: 网络地址转换NAT(Network Address Translation)是将IP数据报文头中的IP地址转换为另一个IP地址的过程.作为减缓IP地址枯竭的一种过渡方案,NAT通过地址重用 ...

  8. Github文件在线加速下载

    众所周知,GitHub是一个巨大的开源宝库,以及程序员和编程爱好者的聚集地,诸多优秀的开源项目全部都是位于GitHub上.但是每当我们看到优秀的开源项目,准备去下(bai)载(piao)时,会发现速度 ...

  9. JS/java实现QQ空间自动点赞

    使用方法: 1:进入QQ空间 2:复制下面代码 3:按F12或右键审查元素 进入控制台 也就是console 4:粘贴  回车键  喝口水 5:如果嫌慢的话可以 修改这段代码. window.setI ...

  10. 持久化-Word库加载项劫持

    持久化-Word库加载项劫持 利用wll.xll和dll的特性来利用的 重点利用office word的信任文件来进行加载恶意代码