k8s使用心得
查看当前所有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使用心得的更多相关文章
- K8S学习心得 == 创建容器influxdb的RC和SVC
附上:YAML在线检查:http://nodeca.github.io/js-yaml Part 1: 部署Influxdb的RC文件,步骤如下: step 1: influxdb-rc.yaml文件 ...
- 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 ...
- K8S学习心得 == 安装虚拟路由器RouterOS
使用RouterOS, 搭建虚拟路由器,并且配置多个网关互通.配置步骤如下. 基础配置 1. RouterOS 服务器,设置如下 2. VM 不同网段的设置 == 192. ...
- 朱晔的互联网架构实践心得S2E4:小议微服务的各种玩法(古典、SOA、传统、K8S、ServiceMesh)
十几年前就有一些公司开始践行服务拆分以及SOA,六年前有了微服务的概念,于是大家开始思考SOA和微服务的关系和区别.最近三年Spring Cloud的大火把微服务的实践推到了高潮,而近两年K8S在容器 ...
- 详解k8s一个完整的监控方案(Heapster+Grafana+InfluxDB) - kubernetes
1.浅析整个监控流程 heapster以k8s内置的cAdvisor作为数据源收集集群信息,并汇总出有价值的性能数据(Metrics):cpu.内存.网络流量等,然后将这些数据输出到外部存储,如Inf ...
- 详解k8s零停机滚动发布微服务 - kubernetes
1.前言 在当下微服务架构盛行的时代,用户希望应用程序时时刻刻都是可用,为了满足不断变化的新业务,需要不断升级更新应用程序,有时可能需要频繁的发布版本.实现"零停机"." ...
- k8s踩坑记 - kubeadm join 之 token 失效
抛砖引玉 环境 centos 7 amd64 两台 kubernetes 1.10 伴随着k8s1.10版本的发布,前天先在一台机器上搭建了k8s单机版集群,即既是master,也是node,按照经验 ...
- 详解k8s组件Ingress边缘路由器并落地到微服务 - kubernetes
写在前面 Ingress 英文翻译 进入;进入权;进食,更准确的讲就是入口,即外部流量进入k8s集群必经之口.这到大门到底有什么作用?我们如何使用Ingress?k8s又是如何进行服务发现的呢?先看一 ...
- k8s实践 - 如何优雅地给kong网关配置证书和插件。
前言 从去年上半年微服务项目上线以来,一直使用kong作为微服务API网关,整个项目完全部署于k8s,一路走来,对于k8s,对于kong,经历了一个从无到有,从0到1的过程,也遇到过了一些坎坷,今天准 ...
随机推荐
- 2022-7-15 pan小堂 数组排序算法
二分查找(理解) public ych class{ public static void main(String[] args){ ///运用二分查找需要 数组在的值是递升的 int[] arr1 ...
- 2510-Druid监控功能的深入使用与配置-基于SpringBoot-完全使用java config的形式
环境 springboot 1.5.9.RELEASE + JDK1.8 配置步骤 分两步,1 配置数据源 2 配置监控 直接上代码 1 配置数据源 package com.company.proje ...
- [NCTF2019]Fake XML cookbook-1|XXE漏洞|XXE信息介绍
1.打开之后显示如图所示: 2.根据题目名字就能看出来和xml有关,和xml有关的那就是注入,brup抓包看下数据包,结果如下: 3.查看post数据,确实很像xml实体注入,那就进行尝试以下,将po ...
- Vue 引出声明周期 && 组件的基本使用
1 <!DOCTYPE html> 2 <html> 3 <head> 4 <meta charset="UTF-8" /> 5 & ...
- SqlServer获取当前日期的详细写法
SqlServer获取当前日期1. 获取当前日期 select GETDATE()格式化: select CONVERT(varchar,GETDATE(),120) --2018-04-23 14: ...
- MySQL 启停过程了解一二
GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. GreatSQL是MySQL的国产分支版本,使用上与MySQL一致. 前言 你知道MySQL启停都做了些什么吗? 启动的时 ...
- Bellman-Ford算法与SPFA算法详解
PS:如果您只需要Bellman-Ford/SPFA/判负环模板,请到相应的模板部分 上一篇中简单讲解了用于多源最短路的Floyd算法.本篇要介绍的则是用与单源最短路的Bellman-Ford算法和它 ...
- ArrayList,LinkedList
ArrayList,LinkedList ArrayList 采用的是数组形式来保存对象的,这种方式将对象放在连续的位置中,所以最大的缺点就是插入删除时非常麻烦LinkedList 采用的将链表的数据 ...
- EMAS Serverless到底有多便利?
EMAS Serverless 简介 EMAS Serverless 是阿里云提供的基于Serverless技术的一站式后端开发平台,为开发者提供高可用.弹性伸缩的云开发服务,包含云函数.云数据库.云 ...
- 在 Linux 中安装 MongoDB 的流程
下载 MongoDB官网下载社区版的安装包: 解压 上传至 Linux,安装位置自行选择.把压缩包解压到安装的目录下. 可重命名解压的文件夹名: mv mongodb-linux-x86_64-rhe ...