查看当前所有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. CF1705A Mark the Photographer 题解

    题意: 给定一队人的身高,将其分成两队,问能否实现前面的人均低于后面的人至少 \(x\) 个单位长度. 做法: 将这队人的身高进行排序,\(h_1 \sim h_n\) 即为第一队,\(h_{n+1} ...

  2. 6.4.2 用BFS求最短路

    前面的篇幅占了太多,再次新开一章,讲述BFS求最短路的问题 注意此时DFS就没有BFS好用了,因为DFS更适合求全部解,而BFS适合求最优解 这边再次提醒拓扑变换的思想在图形辨认中的重要作用,需要找寻 ...

  3. CF Edu Round 131 简要题解 (ABCD)

    A 分类讨论即可 . using namespace std; typedef long long ll; typedef pair<int, int> pii; int main() { ...

  4. 清北学堂 2020 国庆J2考前综合强化 Day2

    目录 1. 题目 T1 一 题目描述 Sol T2 二 题目描述 Sol T3 三 题目描述 Sol T4 四 题目描述 Sol 2. 算法 -- 数据结构 1. 题目 T1 一 题目描述 问题描述 ...

  5. Jetpack Compose学习(8)——State及remeber

    原文地址: Jetpack Compose学习(8)--State状态及remeber关键字 - Stars-One的杂货小窝 之前我们使用TextField,使用到了两个关键字remember和mu ...

  6. React报错之`value` prop on `input` should not be null

    正文从这开始~ 总览 当我们把一个input的初始值设置为null或者覆盖初始值设置为null时,会产生"valueprop on input should not be null" ...

  7. 使用 DolphinScheduler 调度 Kylin 构建

    本文章经授权转载 Apache Kylin 上游通常有复杂的数据 ETL 过程,如 Hive 入库.数据清洗等:下游有报表刷新,邮件分发等.集成 Apache DolphinScheduler 后,K ...

  8. JVM 配置参数 -D,-X,-XX 的区别

    转载请注明出处: 最近在安全护网行动,需要针对服务进行不断的安全加固,如 对服务的 log4j 的安全配置进行防护,对 fastjson 的漏洞进行安全加固等,最快的防护方法就是通过在服务启动的时候, ...

  9. 面试题:Java序列化与反序列化

    目录 序列化和反序列化的概念 应用场景? 序列化实现的方式 继承Serializable接口,普通序列化 继承Externalizable接口,强制自定义序列化 serialVersionUID的作用 ...

  10. Java连接简单使用ElasticSearch

    目录 1. 添加依赖 2. 代码,无账号密码 3. 代码,有账号密码,并且是https方式 4. 参考文章 1. 添加依赖 <!-- https://mvnrepository.com/arti ...