Kubernetes 1.24 serviceaccount Token问题

Kubernetes 1.24 serviceaccount Token问题_第1张图片

一. secret

官网说明

  • 从 Kubernetes 版本 1.24 开始,不再自动创建服务帐户的机密,对于需要使用服务帐户访问 Kubernetes API 服务器的开发人员(例如,在使用管道时)来说,这可能是一个问题,连接到保管库时我们遇到了问题
kubectl -n > create sa -name>
kubectl apply -f - <apiVersion: v1
kind: Secret
metadata:
  name: -name>
  namespace: >
  annotations:
    kubernetes.io/service-account.name: -name>
type: kubernetes.io/service-account-token
EOF
kubectl  -n > describe secrets -name>

二. kubelet

  • 在 v1.20 中标记弃用后,dockershim 组件已从 kubelet 中删除,从 v1.24 开始,您将需要使用其他受支持的运行时之一(例如 containerd 或 CRI-O),或者如果您依赖 Docker 引擎作为容器运行时,则使用 cri-dockerd

  • 从 1.24 开始,kubelet 提供了一个新的 Prometheus 指标,用于记录容器中发生的 OOM(OutOfMemory)事件的数量,当内存限制不能满足容器的使用和需求时,这提供了对 Kubernetes 操作中反复出现的问题的更多可见性,使用这个新指标,SRE 可以更好地了解问题的最终原因,并更好地确定它是反复出现的问题还是其他问题,更快的故障排除

三. 容器日志

  • 标准输入0:从键盘获得输入 /proc/self/fd/0
  • 标准输出1:输出到屏幕(即控制台) /proc/self/fd/1
  • 错误输出2:输出到屏幕(即控制台) /proc/self/fd/2
# 进入容器, 可以查看 /dev/stdout 文件
# ls -l /dev/stdout 
lrwxrwxrwx    1 root     root            15 Jul 28 16:50 /dev/stdout -> /proc/self/fd/1

# 测试
echo test > /proc/1/fd/1

# 做软链接,日志打印到终端
ln -s /proc/1/fd/1 /data/go.log

# Dockerfile可以这样写
RUN mkdir /data && ln -s /proc/1/fd/1 /data/go.log

四. 修改节点主机名

# 驱逐节点,让节点pod调度到其他节点上
kubectl drain node-01 --delete-local-data --ignore-daemonsets
kubectl get node
NAME       STATUS                     ROLES    AGE   VERSION
node-01    Ready,SchedulingDisabled   <none>   2d   v1.24.7
node-02    Ready                      <none>   2d   v1.24.7

# 删除节点
kubectl delete node node-01

# 被修改的节点清空集群信息
kubeadm reset
hostnamectl set-hostname xxxx-new

# master节点新建token
kubeadm token create --print-join-command

# 在master节点重新加入集群
kubeadm join 192.168.188.11:6443

你可能感兴趣的:(kubernetes,容器,云原生)