Linux下安装Kubernetes

准备工作

预留2G左右的内存,尽可能多,需要提前安装了docker

  • kubeadm:用来初始化集群的指令。
  • kubelet:在集群中的每个节点上用来启动 Pod 和容器等。
  • kubectl:用来与集群通信的命令行工具。

集群安装,但只有一个节点

curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube

配置Docker源

{
  "registry-mirrors": ["https://xxxxxxxx.mirror.aliyuncs.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}

其中 https://xxxxxxxx.mirror.aliyuncs.com 为阿里云镜像加速地址, xxxxxxxx 需要替换为自己账户中的地址。阿里云 -> 容器镜像服务 -> 镜像工具 -> 镜像加速器

添加k8s源

vim /etc/yum.repos.d/kubernetes.repo

内容为

[kubernetes]
name=Kubernetes
baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
exclude=kube*

安装

yum install -y kubelet kubeadm kubectl --disableexcludes=kubernetes
systemctl enable kubelet && systemctl start kubelet

初始化Master节点

生成初始化文件

kubeadm config print init-defaults > kubeadm-init.yaml

该文件有两处需要修改:

  • 将advertiseAddress: 1.2.3.4修改为本机地址(腾讯云内网地址)
  • 将imageRepository: k8s.gcr.io修改为imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers

下载镜像

kubeadm config images list # 查看需要的镜像

结果为

registry.k8s.io/kube-apiserver:v1.26.0
registry.k8s.io/kube-controller-manager:v1.26.0
registry.k8s.io/kube-scheduler:v1.26.0
registry.k8s.io/kube-proxy:v1.26.0
registry.k8s.io/pause:3.9
registry.k8s.io/etcd:3.5.6-0
registry.k8s.io/coredns/coredns:v1.9.3

使用shell脚本来下载镜像

images=(
kube-apiserver:v1.26.0
kube-controller-manager:v1.26.0
kube-scheduler:v1.26.0
kube-proxy:v1.26.0
pause:3.9
etcd:3.5.6-0
coredns:v1.9.3
)
for imageName in ${images[*]}
do
    docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
    docker tag registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName k8s.gcr.io/$imageName
    docker rmi registry.cn-hangzhou.aliyuncs.com/google_containers/$imageName
done
docker tag k8s.gcr.io/coredns:v1.9.3 k8s.gcr.io/coredns/coredns:v1.9.3 
docker rmi k8s.gcr.io/coredns:v1.9.3

从阿里云镜像仓库下载,并重命名为原来的名字,对coredns要特殊处理一下

执行初始化

kubeadm init --config kubeadm-init.yaml

卡在这了,暂时未找到原因。

参考

Kubernetes(一) 跟着官方文档从零搭建K8S
Kubeadm-官方文档

posted @ 2024-04-07 22:48  strongmore  阅读(29)  评论(0编辑  收藏  举报