k8s部署pod遇到的坑

该博客记录了k8s部署pod时遇到的问题及解决方案。包括错误1和错误2的解决办法,其中错误2的终极解决方法是搭建私有仓库,并修改pod中nginx的镜像地址。

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

在这里插入图片描述

前言

记录下k8s部署pod遇到的坑

vi  nginx_pod.yaml
apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    app: web
spec:
  containers:
    - name: nginx
      image: nginx:1.13
      ports:
        - containerPort: 80

kubectl create -f  nginx_pod.yaml

错误1

kubectl create -f nginx_pod.yaml
Error from server (ServerTimeout): error when creating "nginx_pod.yaml": No API token
found for service account "default", retry after the token is automatically created 
and added to the service account
  • 解决方案
vim /etc/kubernetes/apiserver
KUBE_ADMISSION_CONTROL="--admission-control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityContextDeny,
ResourceQuota“
systemctl restart kube-apiserver.service

错误2

在这里插入图片描述

  • 解决方案
vim /etc/kubernetes/kubelet
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=docker.io/tianyebj/pod-infrastructure:latest"

systemctl restart kubelet.service
镜像加速:
vim /etc/sysconfig/docker
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=https://registry.docker-cn.com --insecure-registry=192.168.56.121:5000'
  • 错误2:终极解决方法,搭建私有仓库
docker run -d -p 5000:5000 --restart=always --name registry -v /opt/myregistry:/var/lib/registry  registry

setenforce 0  关闭selinux

vim /etc/docker/daemon.json

{
    "insecure-registries":[
        "192.168.56.121:5000"
    ]
}

systemctl daemon-reload

systemclt restart docker

docker tag docker.io/tianyebj/pod-infrastructure 192.168.56.121:5000/pod-infrastructure:latest

docker push docker.io/tianyebj/pod-infrastructure 192.168.56.121:5000/pod-infrastructure:latest

docker tag docker.io/nginx:1.13 192.168.56.121:5000/nginx:1.13

docker push 192.168.56.121:5000/nginx:1.13
vim /etc/kubernetes/kubelet
KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=192.168.56.121:5000/pod-infrastructure:latest"

  • 修改pod中nginx的镜像地址
[root@k8s-master nginx]# vim nginx_pod.yaml 

apiVersion: v1
kind: Pod
metadata:
  name: nginx
  labels:
    app: web
spec:
  containers:
    - name: nginx
      image: 192.168.56.121:5000/nginx:1.13
      ports:
        - containerPort: 80



kubectl create -f nginx_pod.yaml

kubectl get pod -o wide

kubectl describe pod nginx

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值