3.k8s 集群安装 -- Kubeadm 安装

Kubeadm 安装

  • 更新 apt 包索引并安装使用 Kubernetes apt 仓库所需要的包:
sudo apt-get update
# apt-transport-https 可能是一个虚拟包(dummy package);如果是的话,你可以跳过安装这个包
sudo apt-get install -y apt-transport-https ca-certificates curl gpg
  • 下载用于 Kubernetes 仓库的公共签名密钥
# 如果 `/etc/apt/keyrings` 目录不存在,则应在 curl 命令之前创建它,请阅读下面的注释。
# sudo mkdir -p -m 755 /etc/apt/keyrings
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.32/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
  • 添加 Kubernetes apt 仓库
# 此操作会覆盖 /etc/apt/sources.list.d/kubernetes.list 中现存的所有配置。
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.30/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
  • 更新 apt 包索引,安装 kubelet、kubeadm 和 kubectl,并锁定其版本
sudo apt-get update
sudo apt-get install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

配置kubelet

为了实现容器云客地时使用cgroupdriver与kubelet使用cgroup的一致性,修改如下文件内容

vim /etc/default/kubelet

KUBELET_EXTRA_ARGS="--cgroup-driver=systemd"

设置Kubelet 为开机自启动

systemctl enable kubelet

K8S集群的初使化(只有Master节点

获取默认配置文件

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

默认内容的修改说明

  - signing
  - authentication
kind: InitConfiguration
localAPIEndpoint:
  advertiseAddress: 1.2.3.4 --修改为当前主机的IP ,例如 172.16.2.100
  bindPort: 6443
nodeRegistration:
  criSocket: unix:///var/run/containerd/containerd.sock
  imagePullPolicy: IfNotPresent
  name: k8s-master  --修改节点名称
  taints: null
---
apiServer:
  timeoutForControlPlane: 4m0s
apiVersion: kubeadm.k8s.io/v1beta3
certificatesDir: /etc/kubernetes/pki
clusterName: kubernetes
controllerManager: {}
dns: {}
etcd:
  local:
    dataDir: /var/lib/etcd
imageRepository: registry.k8s.io --容器的镜像仓库,有需要就修改
kind: ClusterConfiguration
kubernetesVersion: 1.30.0
networking:
  dnsDomain: cluster.local
  serviceSubnet: 10.96.0.0/12
  podSubnet: 10.244.0.0/16  --添加pod的网段
scheduler: {}
  • 下载镜像
kubeadm config images list --查看需要的镜像
kubeadm config images pull --下载镜像
  • 查看镜像
crictl images list
  • 复制admin.conf文件到当前当前用户的 kube/config 下
  mkdir -p $HOME/.kube
  sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
  sudo chown $(id -u):$(id -g) $HOME/.kube/config

K8S集群节点加入(Node节点

根据Master节点初始化后的生成的文件命令,在Node节点中运行Join 语句

kubeadm join 172.16.2.100:6443 --token abcdef.0123456789abcdef \
        --discovery-token-ca-cert-hash sha256:23a075216e8e0962621f72db5fc79eab1f362cf0bf3c50adbcc5dbc3244ad08c

配置k8s的其它节点能运行kubectl的命令

  • 将master节点中的/etc/kubernetes/admin.conf 复制到需要的节点服务器
scp /etc/kubernetes/admin.conf xxx@xxxnode1:/etc/kubernetes
  • 在对应的节点上配置环境变量
echo "export KUBECONFIG=/etc/kubernetes/admin.conf" >> ~/.bash_profile
--生效
source ~/.bash_profile
posted @   刘继先  阅读(15)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示