查看当前所有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. JavaScript进阶知识点——函数和对象详解

    JavaScript进阶知识点--函数和对象详解 我们在上期内容中学习了JavaScript的基本知识点,今天让我们更加深入地了解JavaScript JavaScript函数 JavaScript函 ...

  2. 牛客SQL刷题第一趴——非技术入门基础篇

    user_profile表: id device_id gender age university province 1 2138 male 21 北京大学 Beijing 2 3214 male   ...

  3. 如何验收安卓PCBA主板的质量和性能

    . 版本:v0.1 作者:河东西望 日期:2022-7-15 . 目录 1 有哪些情况需要验收? 2 有哪些验收测试? 2.1 主板测试 2.2 工程测试 2.3 性能测试 2.4 压力测试 2.5 ...

  4. 如何在Excel/WPS表格中批量查询快递信息?

    如何在Excel/WPS表格中批量查询快递信息? 干电商的小伙伴们还在为如何批量查询快递物流信息发愁吗?别着急,这篇文章或许能够帮助到您. 首先给大家看一下查询的具体成果: 第一步:安装Excel网络 ...

  5. mysql导出导入数据库和表学习笔记

    一.mysql导出数据库和表 1.导出单个数据库 mysqldump [-h Host] -u Username -p [PASSWORD] db_name > db_name.sql 2.导出 ...

  6. net core天马行空系列-各大数据库快速批量插入数据方法汇总

    1.前言 hi,大家好,我是三合.我是怎么想起写一篇关于数据库快速批量插入的博客的呢?事情起源于我们工作中的一个需求,简单来说,就是有一个定时任务,从数据库里获取大量数据,在应用层面经过处理后再把结果 ...

  7. Modbus转BACnet IP网关

    BACnet是楼宇自动化和控制网络数据通信协议的缩写.它是为楼宇自动化网络开发的数据通信协议   根据1999年底互联网上楼宇自动化网络的信息,全球已有数百家国际知名制造商支持BACnet,包括楼宇自 ...

  8. javascript 原生class操作

    <script type="text/javascript"> function hasClass(elements, cName) { return elements ...

  9. Python数据分析--Numpy常用函数介绍(9)-- 与线性代数有关的模块linalg

    numpy.linalg 模块包含线性代数的函数.使用这个模块,可以计算逆矩阵.求特征值.解线性方程组以及求解行列式等.一.计算逆矩阵 线性代数中,矩阵A与其逆矩阵A ^(-1)相乘后会得到一个单位矩 ...

  10. 小白之Python基础(二)

    一.字符串 1.字符串编码发展: 1)ASCII码: 一个字节去表示 (8个比特(bit)作为一个字节(byte),因此,一个字节能表示的最大的整数就是255(二进制11111111 = 十进制255 ...