用kubeadm在centos7下搭建k8s 1.12集群

在搭建的过程中遇到一个难题

本地将下载的镜像包,导入到本地并打好tag后,执行 kubeadm init命令,还会一直去拉取镜像,不知道原因?

[root@master log]# kubeadm  init
I1113 15:31:40.176593   20467 version.go:93] could not fetch a Kubernetes version from the internet: unable to get URL "https://dl.k8s.io/release/stable-1.txt": Get https://storage.googleapis.com/kubernetes-release/release/stable-1.txt: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
I1113 15:31:40.176675   20467 version.go:94] falling back to the local client version: v1.12.2
[init] using Kubernetes version: v1.12.2
[preflight] running pre-flight checks
    [WARNING Hostname]: hostname "master" could not be reached
    [WARNING Hostname]: hostname "master" lookup master on 183.60.83.19:53: no such host
[preflight/images] Pulling images required for setting up a Kubernetes cluster
[preflight/images] This might take a minute or two, depending on the speed of your internet connection
[preflight/images] You can also perform this action in beforehand using 'kubeadm config images pull'

[preflight] Some fatal errors occurred:
    [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-apiserver:v1.12.2: output: Error response from daemon: Get http://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
, error: exit status 1
    [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-controller-manager:v1.12.2: output: Error response from daemon: Get http://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
, error: exit status 1
    [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-scheduler:v1.12.2: output: Error response from daemon: Get http://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
, error: exit status 1
    [ERROR ImagePull]: failed to pull image k8s.gcr.io/pause:3.1: output: Error response from daemon: Get http://k8s.gcr.io/v2/: net/http: request canceled (Client.Timeout exceeded while awaiting headers)
, error: exit status 1
    [ERROR ImagePull]: failed to pull image k8s.gcr.io/etcd:3.2.24: output: Error response from daemon: Get http://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
, error: exit status 1
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`

查看安装需要的镜像

[root@master log]# kubeadm config images list
k8s.gcr.io/kube-apiserver:v1.12.2
k8s.gcr.io/kube-controller-manager:v1.12.2
k8s.gcr.io/kube-scheduler:v1.12.2
k8s.gcr.io/kube-proxy:v1.12.2
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.2.24
k8s.gcr.io/coredns:1.2.2

查看本地镜像

[root@master log]# docker images
k8s.gcr.io/kube-proxy                v1.12.2             61afff57f010        5 weeks ago         96.6MB
k8s.gcr.io/kube-scheduler            v1.12.2             d773ad20fd80        5 weeks ago         58.3MB
k8s.gcr.io/kube-apiserver            v1.12.2             dcb029b5e3ad        5 weeks ago         194MB
k8s.gcr.io/kube-controller-manager   v1.12.2             aa2dd57c7329        5 weeks ago         164MB
k8s.gcr.io/etcd                      3.2.24              3cab8e1b9802        7 weeks ago         220MB
k8s.gcr.io/coredns                   1.2.2               367cdc8433a4        2 months ago        39.2MB
k8s.gcr.io/pause                     3.1                 da86e6ba6ca1        10 months ago       742kB
本地有镜像,为什么还要去拉取呢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 在 CentOS 7 中搭建 K8S 集群的步骤如下: 1. 安装 Docker: K8S 需要使用 Docker 作为容器引擎, 因此需要在每个节点上安装 Docker。 2. 安装 kubeadm, kubelet 和 kubectl: kubeadm 是用于在 CentOS 上安装和管理 K8S 集群的工具, kubelet 是 K8S 的主要组件, 用于在节点上运行容器, kubectl 是 K8S 的命令行工具, 用于管理集群。 3. 初始化集群: 使用 kubeadm 初始化集群, 在一个节点上运行 kubeadm init 命令。 4. 加入节点: 使用 kubeadm join 命令在其他节点上加入集群。 5. 安装网络插件: 为了使容器之间可以通信, 还需要安装一个网络插件, 常用的有 Flannel 和 Calico。 6. 部署应用: 可以使用 kubectl 命令在集群中部署应用, 或者使用其他工具如 Helm。 希望这些信息能够帮助你。 ### 回答2: 在CentOS 7中搭建K8S集群的步骤如下: 1. 首先,确保所有节点上的操作系统为CentOS 7,并且所有节点之间能够互相通信。 2. 在所有节点上安装Docker并启动Docker服务。可以通过以下命令进行安装: $ sudo yum install -y docker $ sudo systemctl start docker $ sudo systemctl enable docker 3. 配置Docker的系统参数以支持Kubernetes。通过编辑/etc/docker/daemon.json文件,添加以下内容: { "exec-opts": ["native.cgroupdriver=systemd"] } 4. 配置Kubernetes的YUM源,并安装Kubernetes所需的软件包。可以通过以下命令进行安装: $ sudo vi /etc/yum.repos.d/kubernetes.repo 添加以下内容: [kubernetes] name=Kubernetes baseurl=https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=1 repo_gpgcheck=1 gpgkey=https://packages.cloud.google.com/yum/doc/yum-key.gpg https://packages.cloud.google.com/yum/doc/rpm-package-key.gpg $ sudo yum install -y kubelet kubeadm kubectl 5. 配置Kubernetes集群Master节点。在Master节点上执行以下命令: $ sudo kubeadm init 6. 完成Kubernetes集群Master节点配置后,按照命令输出的指引,将所需的配置文件拷贝到合适的位置,并设置kubectl的配置文件。例如: $ mkdir -p $HOME/.kube $ sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config $ sudo chown $(id -u):$(id -g) $HOME/.kube/config 7. 启动Kubernetes集群的网络插件。可以选择任何支持的网络插件,例如Calico、Flannel等。执行以下命令以安装Calico插件: $ kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml 8. 加入其他节点到Kubernetes集群。按照输出的命令在其他节点上执行以加入集群,例如: $ sudo kubeadm join <Master节点IP>:<Master节点端口> --token <Token值> --discovery-token-ca-cert-hash <CA证书哈希值> 9. 检查Kubernetes集群的状态。执行以下命令以查看集群中节点的状态: $ kubectl get nodes 10. 完成以上步骤后,Kubernetes集群搭建就完成了。您现在可以开始使用Kubernetes来部署和管理容器应用程序了。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值