k8s集群搭建

主节点 (Master Node)

  1. 安装 kubeadm、kubelet 和 kubectl
apt-get update
apt-get install -y apt-transport-https ca-certificates curl
# 添加阿里云 Kubernetes 镜像源
echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
# 添加 GPG 密钥
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
# 更新软件包列表
apt-get update
# 安装 Kubernetes 组件
apt-get install -y kubelet kubeadm kubectl
# 锁定软件包版本,防止升级
apt-mark hold kubelet kubeadm kubectl
  1. 禁用交换分区
    禁用交换分区是正确的,因为 Kubernetes 需要在所有节点上禁用交换分区:
swapoff -a

要永久禁用交换分区,你需要编辑 /etc/fstab 文件,并注释掉任何交换分区条目:在文件中找到类似于 swap 的行,并在行首添加 # 注释掉。

vim /etc/fstab
  1. 初始化 Kubernetes 集群
    初始化 Kubernetes 集群时,指定 --pod-network-cidr 是用于配置网络插件。192.168.0.0/16 是一个常见的网络范围,适用于许多网络插件,例如 Calico:
kubeadm init --pod-network-cidr=192.168.0.0/16

初始化成功后,配置 kubectl 的步骤是正确的:

mkdir -p $HOME/.kube
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
  1. 部署 Pod 网络插件
    部署 Calico 网络插件的步骤也是正确的:
kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

确保 Calico 版本与 Kubernetes 版本兼容。如果你使用不同版本的 Kubernetes,请检查 Calico 官方文档以确保版本兼容。

  1. 记录工作节点加入命令
    在 Kubernetes 主节点初始化成功后,会显示工作节点加入集群的命令,格式如下:
kubeadm join <Master节点的IP>:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

记下这个命令,并在工作节点上运行以加入集群。

  1. 验证 Kubernetes 集群是否正常运行
    检查所有节点状态:
    确保所有节点都已成功加入集群并处于 Ready 状态。
kubectl get nodes

在这里插入图片描述
检查所有系统 Pod 状态:
确保所有系统关键 Pod(如 Calico、CoreDNS 等)都在 Running 状态。

kubectl get pods -n kube-system

在这里插入图片描述

工作节点 (Worker Node)

  1. 安装 kubeadm、kubelet 和 kubectl
apt-get update
apt-get install -y apt-transport-https ca-certificates curl
# 添加阿里云 Kubernetes 镜像源
echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
# 添加 GPG 密钥
curl -s https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
# 更新软件包列表
apt-get update
# 安装 Kubernetes 组件
apt-get install -y kubelet kubeadm
# 锁定软件包版本,防止升级
apt-mark hold kubelet kubeadm
  1. 禁用交换分区
    禁用交换分区是正确的,因为 Kubernetes 需要在所有节点上禁用交换分区:
swapoff -a

要永久禁用交换分区,你需要编辑 /etc/fstab 文件,并注释掉任何交换分区条目:在文件中找到类似于 swap 的行,并在行首添加 # 注释掉。

vim /etc/fstab
  1. 加入Kubernetes集群
    使用主节点初始化时提供的 kubeadm join 命令,将工作节点加入集群:
kubeadm join 192.168.2.147:6443 --token cicl5h.6qmwye03dno7ic4y \
--discovery-token-ca-cert-hash sha256:46f6f3209b701922bb3806d92f433fe90140efc4b0d67445ef32c92d9648687b 

如果忘记了 kubeadm join 命令,可以在主节点上使用以下命令重新生成:

kubeadm token create --print-join-command
  1. 在master节点验证集群
kubectl get nodes

在这里插入图片描述

安装Kubernetes Dashboard

  1. 在主节点上运行以下命令来部署 Kubernetes Dashboard:
kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.7.0/aio/deploy/recommended.yaml

这将部署 Kubernetes Dashboard 并在 kubernetes-dashboard 命名空间中创建所需的资源

  1. 创建仪表盘访问权限
    为了能够访问 Kubernetes Dashboard,您需要创建一个服务账户并绑定合适的权限。

创建服务账户并绑定 ClusterRole:

kubectl create serviceaccount dashboard-admin-sa -n kubernetes-dashboard
kubectl create clusterrolebinding dashboard-admin-sa --clusterrole=cluster-admin --serviceaccount=kubernetes-dashboard:dashboard-admin-sa

获取访问 Dashboard 的令牌:

kubectl -n kubernetes-dashboard create token dashboard-admin-sa

执行上述命令后,您会获得一个访问 Kubernetes Dashboard 的 JWT(JSON Web Token)。将此令牌保存下来,因为您需要在登录 Dashboard 时使用它。

  1. 访问 Kubernetes Dashboard
    为了访问 Dashboard,您可以通过本地代理的方式访问,这种方式更加安全:

启动本地代理:

kubectl proxy

代理启动后,在浏览器中访问以下 URL:

http://localhost:8001/api/v1/namespaces/kubernetes-dashboard/services/https:kubernetes-dashboard:/proxy/

在登录页面中,选择“令牌”作为登录方式,并输入之前获取的令牌

  1. 通过公网 IP 访问 Kubernetes Dashboard
    修改 Dashboard 服务类型为 NodePort

Kubernetes Dashboard 默认使用 ClusterIP 类型的服务,需要将其更改为 NodePort 类型,以便可以通过外部 IP 访问。

首先,编辑 Dashboard 服务配置:

kubectl -n kubernetes-dashboard edit svc kubernetes-dashboard

在这里插入图片描述
保存并退出编辑器。

获取节点 IP 和端口

节点 IP 是您的主节点或工作节点的 IP 地址,端口是您在上一步中指定的 nodePort 端口(或 Kubernetes 自动分配的端口)。

使用以下命令获取 NodePort 端口:

kubectl -n kubernetes-dashboard get svc kubernetes-dashboard

现在,您可以通过以下 URL 访问 Kubernetes Dashboard:

https://94.74.104.32:31972

输入令牌登录即可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值