笔记_k8s

这篇博客介绍了 Kubernetes 中的 DNS 策略,包括 Pod 的 DNS 解析配置,并展示了如何进行关键操作,如使用 kubectl proxy 设置代理,强制删除 PV、Pod,调整 LV 容量,处理 Evicted 状态的 Pod,以及设置命名空间和 Tolerations。同时,文章还提及了主机命名空间、网络命名空间和自定义 Hosts 的配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Kubernetes Python Client

https://github.com/kubernetes-client/python
k8s API文档:
https://github.com/kubernetes-client/python/blob/master/kubernetes/README.md
示例:
https://github.com/kubernetes-client/python/tree/master/examples

 

开启kubernetes proxy
命令:kubectl proxy
https://blog.youkuaiyun.com/cuipengchong/article/details/72459299


docker 镜像仓库查看方式
curl -XGET http://127.0.0.1:5000/v2/aimaster-paas/asap-wrench/tags/list | python -m json.tool
curl -XGET http://127.0.0.1:5000/v2/_catalog | python -m json.tool

 

强制删除pv
 kubectl patch pv pvc-896b3a17-ca75-11e9-ad16-fa8568529800 -p '{"metadata":{"finalizers":null}}'

pv无法删除的问题
解决方法:
直接删除k8s中的记录:
kubectl patch pv xxx -p '{"metadata":{"finalizers":null}}'

强制删除pod
kubectl delete pod PODNAME --force --grace-period=0

删除所有没有关联容器的镜像
docker image prune -a
docker image prune -a -f   #-f强制,不需要确认


docker 
systemctl daemon-reload
systemctl restart docker

ssh隧道
ssh -CfNgL 59730:30.0.0.2:22 root@11.143.65.143  
ssh -CfNgL 59830:30.0.0.2:3128 root@11.143.65.143  

 

master 污点
kubectl taint nodes master1 node-role.kubernetes.io/master=:NoSchedule
kubectl taint nodes master1 node-role.kubernetes.io/master-
kubectl taint node --all apsarastack.io.manager/node-

 

 

下载rpm包
yumdownloader httpd --resolve --destdir=/root/package/httpd 

# 修改时区为UTC
mv /etc/localtime /etc/localtime.bak
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

 

只渲染不安装
helm install/upgrade xxx --dry-run --debug

 

# lv 扩容
(四)将新的VG空间划入LV(扩容lv_root)
#扩展5G给/root分区,不用umount,也不需要重启
# lvextend -L +5G  /dev/mapper/VolGroup-lv_root
也可以使用命令
# lvextend -l +30%FREE /dev/mapper/VolGroup-lv_root
此时,如果有df命令查看的话,会发现root空间并没有增加的.还需要执行以下两步操作才可以.
#检查/root逻辑卷
#e2fsck -f /dev/mapper/VolGroup-lv_root
#重新定义分区大小
#resize2fs /dev/mapper/VolGroup-lv_root


去除不可用的磁盘
echo 1>/sys/block/sdx/device/delete 

 

清理Evicted状态的pod
ns=`kubectl get ns | awk 'NR>1 {print $1}'`
for i in $ns;do  kubectl get pods -n $i  | grep Evicted| awk '{print $1}' | xargs  kubectl delete pods -n $i ;done

 

# 命令行代理
export https_proxy=http://100.67.76.9:59830
export http_proxy=http://100.67.76.9:59830

 

namespace处于Terminating状态

执行kubectl delete ns ${namespace} 后,会将该namespace下的资源全部删除,在某些情况下,可能由于该namespace下的某些资源未删除导致namespace一直出于Terminating状态。

可以使用如下的命令来查找namespace下残留的资源,然后查找该资源未被清除的原因。

kubectl api-resources --verbs=list --namespaced -o name | xargs -n 1 kubectl get --show-kind --ignore-not-found -n ${namespace}

 

 

nsenter命令:
进入到容器网络空间

示例:
1、pod所在节点
      kubectl get pod test  -o wide 
2、pod里面容器ID
      # kubectl get pod test -oyaml|grep containerID
        - containerID: docker://cf0873782d587dbca6aa32f49605229da3748600a9926e85b36916141597ec85
3、登陆节点通过容器ID查找容器PID
      docker inspect  -f {{.State.Pid}}  cf087378
4、进入容器网络空间
      nsenter --targe 29465 --pid --net
https://www.cnblogs.com/Wshile/p/12596617.html

 

#########################################################################################################

Tolerations(容忍):应用pod

spec:
  tolerations: #设置容忍性
  - key: "key1" 
    operator: "Equal"  #如果操作符为Exists,那么value属性可省略,如果不指定operator,则默认为Equal
    value: "value1"
    effect: "NoSchedule"

 

node维护模式

cordon: 警戒线

kubectl cordon  $NODENAME

 

externalName:

https://www.icode9.com/content-4-509741.html

 

DNS 策略

在 kubernetes 中还提供了 dnsPolicy 决定 Pod 内预设 DNS 配置策略:

  • Default“: Pod继承所在宿主机的设置,也就是直接将宿主机的/etc/resolv.conf内容挂载到容器中。
  • ClusterFirst“: 默认的配置,所有请求会优先在集群所在域查询,如果没有才会转发到上游DNS。
  • ClusterFirstWithHostNet“: 和ClusterFirst一样,不过是Pod运行在hostNetwork:true的情况下强制指定的。
  • None“: 1.9版本引入的一个新值,这个配置忽略所有配置,以Pod的dnsConfig字段为准。

 

 

IPC命名空间:
主机PID空间:
网络命名空间:

spec:
  hostIPC: true
  hostPID: true
  hostNetwork: true

 

设置pod中的hostname

通过hostname设置,如果未设置默认使用pod名字作为pod的hostname

spec:
  hostname: busybox-1

 

subdomain

Pod 与 Service 的 DNS
https://v1-16.docs.kubernetes.io/zh/docs/concepts/services-networking/dns-pod-service/

 

Capabilities

https://kuboard.cn/learning/k8s-intermediate/config/sec-ctx/con-cap.html

 

自定义hosts

https://www.cnblogs.com/kazihuo/p/10309987.html

 

headless服务

不需要cluster IP的服务,创建是指定“spec.clusterIP=None”

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值