当前位置: 首页 > news >正文

Ubuntu 22.04安装K8S集群

以下是Ubuntu 22.04安装Kubernetes集群的步骤概要

一、设置主机名与hosts解析

# Master节点执行
sudo hostnamectl set-hostname "k8smaster"
# Worker节点执行
sudo hostnamectl set-hostname "k8sworker1"

# 所有节点的/etc/hosts中添加:
cat >> /etc/hosts <<EOF
172.19.35.232 k8smaster
172.20.116.213 k8sworker1
EOF

一、禁用Swap并配置内核参数

sudo swapoff -a
sudo modprobe overlay && sudo modprobe br_netfilter
sudo tee /etc/sysctl.d/kubernetes.conf <<EOF
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.ip_forward = 1
EOF
sudo sysctl --system

二、安装Containerd运行时

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt install -y containerd.io
sudo containerd config default | sudo tee /etc/containerd/config.toml
sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/g' /etc/containerd/config.toml
sed -i 's#registry.k8s.io/pause:3.8#registry.aliyuncs.com/google_containers/pause:3.8#' /etc/containerd/config.toml
sudo systemctl restart containerd

三、安装kubeadm/kubelet/kubectl

# 使用阿里云镜像源(内网推荐)
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | sudo apt-key add -
echo "deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main" | sudo tee /etc/apt/sources.list.d/kubernetes.list
sudo apt update && sudo apt install -y kubelet kubeadm kubectl
sudo apt-mark hold kubelet kubeadm kubectl

四、初始化Master

sudo kubeadm init \
  --apiserver-advertise-address=172.19.35.232 \
  --pod-network-cidr=192.168.0.0/16 \
  --image-repository=registry.aliyuncs.com/google_containers

五、配置kubectl

mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config

六、安装Calico网络插件

# 如果ping不通需要更改镜像源,如果可以,直接忽略
ping docker.io

kubectl apply -f https://docs.projectcalico.org/manifests/calico.yaml

如果出现下载不了 需要更改 将docker.io换成 quay.io

# 还有一些仓库
{
    "registry-mirrors": [
            "https://docker.211678.top",
            "https://docker.1panel.live",
            "https://hub.rat.dev",
            "https://docker.m.daocloud.io",
            "https://do.nark.eu.org",
            "https://dockerpull.com",
            "https://dockerproxy.cn",
            "https://docker.awsl9527.cn"
      ]
}

七、Worker节点加入集群

kubeadm join 172.19.35.232:6443 --token <token> --discovery-token-ca-cert-hash sha256:<hash>

mkdir ~/.kube

cp /etc/kubernetes/kubelet.conf  ~/.kube/config

八、验证集群状态

# 在Master节点执行
kubectl get nodes  # 应显示所有节点状态为Ready
kubectl get pods -A  # 检查核心组件运行状态

# 查看详细日志
journalctl -u kubelet -f  

9、安装KubeSphere

curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

# 如果无法访问 charts.kubesphere.io, 可将 charts.kubesphere.io 替换为 charts.kubesphere.com.cn
helm upgrade --install -n kubesphere-system --create-namespace ks-core https://charts.kubesphere.io/main/ks-core-1.1.3.tgz --debug --wait

说明
如果您访问 Docker Hub 受限,请在命令后添加如下配置,修改默认的镜像拉取地址。

--set global.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks

--set extension.imageRegistry=swr.cn-southwest-2.myhuaweicloud.com/ks
如果显示如下信息,则表明 ks-core 安装成功:

NOTES:
Thank you for choosing KubeSphere Helm Chart.

Please be patient and wait for several seconds for the KubeSphere deployment to complete.

1. Wait for Deployment Completion

    Confirm that all KubeSphere components are running by executing the following command:

    kubectl get pods -n kubesphere-system

2. Access the KubeSphere Console

    Once the deployment is complete, you can access the KubeSphere console using the following URL:

    http://192.168.6.10:30880

3. Login to KubeSphere Console

    Use the following credentials to log in:

    Account: admin
    Password: P@88w0rd

NOTE: It is highly recommended to change the default password immediately after the first login.

For additional information and details, please visit https://kubesphere.io.

在这里插入图片描述

10、安装kuboard

sudo docker run -d \
  --restart=unless-stopped \
  --name=kuboard \
  -p 80:80/tcp \
  -p 10081:10081/tcp \
  -e KUBOARD_ENDPOINT="http://内网IP:80" \
  -e KUBOARD_AGENT_SERVER_TCP_PORT="10081" \
  -v /root/kuboard-data:/data \
  eipwork/kuboard:v3
  # 也可以使用镜像 swr.cn-east-2.myhuaweicloud.com/kuboard/kuboard:v3 ,可以更快地完成镜像下载。
  # 请不要使用 127.0.0.1 或者 localhost 作为内网 IP \
  # Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server \

DANGER
KUBOARD_ENDPOINT 参数的作用是,让部署到 Kubernetes 中的 kuboard-agent 知道如何访问 Kuboard Server;
KUBOARD_ENDPOINT 中也可以使用外网 IP;
Kuboard 不需要和 K8S 在同一个网段,Kuboard Agent 甚至可以通过代理访问 Kuboard Server;
建议在 KUBOARD_ENDPOINT 中使用域名;
如果使用域名,必须能够通过 DNS 正确解析到该域名,如果直接在宿主机配置 /etc/hosts 文件,将不能正常运行;

访问 Kuboard v3.x
在浏览器输入 http://your-host-ip:80 即可访问 Kuboard v3.x 的界面,登录方式:

用户名: admin
密 码: Kuboard123

在这里插入图片描述

在这里插入图片描述

相关文章:

  • MySQL的Union和OR查询
  • 音乐创作新纪元:AI音乐网站的革命性力量
  • 大屏开源项目go-view二次开发1----环境搭建(C#)
  • AF3 make_template_features函数解读
  • 蓝桥杯备赛-基础训练(三)哈希表 day15
  • 特征提取:如何从不同模态中获取有效信息?
  • 中兴B863AV3.2-T/B863AV3.1-T2/B863AV3.1-T2K_电信高安_S905L3A-B_安卓9.0_线刷固件包
  • Python进行简单医学影像分析的示例
  • LLM Agent:PaSa
  • ipad连接电脑断断续续,不断弹窗的解决办法
  • 计算机专业知识【Excel 引用大揭秘:相对、绝对与混合引用】
  • 抓包工具(三)Wireshark代理抓包Java程序的HTTPS请求
  • 编程考古-忘掉它,Delphi 8 for the Microsoft .NET Framework
  • 城市地质调查信息化建设,数字化时代的城市规划利器
  • C#DevExpress使用GridLookUpEdit实现订单明细选择商品
  • 大数据之常用Linux操作
  • 内外网文件传输 安全、可控、便捷的跨网数据传输方案
  • 商业航天级微控制器单元(MCU)技术特征分析
  • 微服务框架及其中出现的各种问题和对应的解决方案/组件
  • element ui的time时间和table表格
  • 庆祝上海总工会成立100周年暨市模范集体劳动模范和先进工作者表彰大会举行,陈吉宁寄予这些期待
  • 经彩申城!上海网络大V沙龙活动走进闵行
  • 泉州一家婚介机构广告牌越南新娘七天闪婚领证?市监部门介入
  • 牛市早报|金融政策支持稳市场稳预期发布会将举行,商务部:中方决定同意与美方进行接触
  • 加拿大总理访美与特朗普“礼貌交火”
  • 【社论】跑赢12级狂风,敦煌做对了什么