获取service信息 # kubectl get svc -o wide --all-namespaces 可以查看服务实例所对应的端口
# kubectl get pod -o wide --all-namespaces 2.6查看指定pod的service信息 先通过kubectl get svc -o wide --all-namespaces查出name及namespace kubectl describe service dev-mergetosplite -n c87e2267-1001-4c70-bb2a-ab41f3b81aa3
8 个回复
nccloud
获取pods
kubectl get pods
获取全部pods
kubectl get pods -A
通过pod登录容器内
kubectl exec -it -n bash
查看pods详细信息
kubectl get pod -o wide -A
查看pod的yaml文件
kubectl get pod -n -o yaml
例:kubectl get pod dev-front-7c6899d485-gl5br -n c87e2267-1001-4c70-bb2a-ab41f3b81aa3 -o yaml
编辑pod的yaml文件
kubectl get deployment -n
kubectl edit depolyment -n -o yaml
查看所用pod详细描述
#kubectl describe pod –A
查看指定pod详细描述
可用于对驱逐的pod进行问题定位:
1) 查看pod运行状态
# kubectl get pod -A -o wide
2) 查看pod详细描述
命令格式:
#kubectl describe pod pod_name –n NAMESPACE
#kubectl describe pod dev-am-fa-74c77bb45-dwh7h -n c87e2267-1001-4c70-bb2a-ab41f3b81aa3
查看指定pod日志
1) 首先先获取pod信息
# kubectl get po -A -o wide|grep am (am表示匹配pod的name)
2) 查看pod日志
命令格式:
#kubectl logs –f pod_name –n NAMESPACE
# kubectl logs -f dev-am-manage-7d9956c85d-stw6z -n c87e2267-1001-4c70-bb2a-ab41f3b81aa3
nccloud
获取service、endpoints、pod命令
[root@iuap-11 ~]# kubectl get svc,ep,po
如上命令获取的为default命名空间数据
[root@iuap-11 ~]# kubectl get svc,ep,po -A -o wide
如上命令可以获取所有命名空间数据
nccloud
kubectl logs 无法查看node节点pod日志问题
使用3台服务器安装kubernetes集群
# 111.230.133.xxx master 服务器主节点
# 120.230.12.xxx slave1
# 111.230.12.xxx slave2
集群安装成功后我以为一切正常。可以正常使用。
获取节点:
获取所有的pods:
# kubectl logs kube-proxy-69qt8 查看pod日志 从节点无法查看,而在主机节点上的pods使用这个命令后却可以查看。
kube-proxy 要求 NODE 节点操作系统中要具备 /sys/module/br_netfilter 文件,而且还要设置 bridge-nf-call-iptables=1,如果不满足要求,那么 kube-proxy 只是将检查信息记录到日志中,kube-proxy 仍然会正常运行,但是这样通过 Kube-proxy 设置的某些 iptables 规则就不会工作
然后执行如下命令:
# modprobe br_netfilter
# sysctl net.bridge.bridge-nf-call-iptables=1
重启kubernetes集群后发现可以使用kubectl logs 查看node节点上pod的日志。
查看当前值:
more /proc/sys/net/bridge/bridge-nf-call-iptables
nccloud
八. Kubernetes网络-clusterIP(calico)
1. calico支持的模式
1.1 BGP模式
路由规则直接使用物理机网卡作为路由器转发
路由即纯bgp模式,理论上IPIP模式的网络传输性能低于纯bgp模式
BGP 原理剖析
1.2 IPIP模式
一种妥协的overlay机制,在宿主机创建1个“tunl0”虚拟端口
通过tunl0作为路由转发分为两种模式:
ipip always模式(纯ipip模式)
ipip cross-subnet模式
ipip-bgp混合模式,指“同子网内路由采用bgp,跨子网路由采用ipip”
2. calico管理
2.1查看calico网络协议模式及IP地址池
# calicoctl get ippool -o wide
2.2获取calico的pod信息
# kubectl get pod -o wide -n kube-system
获取calico的node
默认在/etc/calico/calicoctl.cfg下
主要修改etcd的路径,还有它连接的证书,它主要操作etcd
# calicoctl get nodes
2.4查看calico的node运行状态
# calicoctl node status
这个工具主要也是往etcd里去操作,主要再etcd去获得,这个表只不过是帮你从etcd中拿出来格式化输出可以通过这个命令可以看出,进行长链接输出出来
nccloud
获取service信息
# kubectl get svc -o wide --all-namespaces
可以查看服务实例所对应的端口
# kubectl get pod -o wide --all-namespaces
2.6查看指定pod的service信息
先通过kubectl get svc -o wide --all-namespaces查出name及namespace
kubectl describe service dev-mergetosplite -n c87e2267-1001-4c70-bb2a-ab41f3b81aa3
nccloud
DNS的路由
cluster IP是一个纯虚拟的IP,完全由iptables完成路由
每个pod中,默认写了kube-DNS的ip,10.96.0.10
nccloud
修改一个pod的yaml (deployments )
kubectl edit deployments kube-state-metrics -n kube-system
nccloud
批量删除NCC的镜像(批量重启)
kubectl get pod -n c87e2267-1001-4c70-bb2a-ab41f3b81aa3 |tail -n +2 | awk '{print $1}' | xargs kubectl delete pod -n c87e2267-1001-4c70-bb2a-ab41f3b81aa3