登录
/
注册
首页
论坛
其它
首页
科技
业界
安全
程序
广播
Follow
关于
导读
排行榜
发帖说明
登录
/
注册
账号
自动登录
找回密码
密码
登录
立即注册
搜索
搜索
关闭
CSDN热搜
程序园
精品问答
技术交流
资源下载
本版
帖子
用户
软件
问答
教程
代码
写记录
写博客
小组
VIP申请
VIP网盘
网盘
联系我们
发帖说明
道具
勋章
任务
淘帖
动态
分享
留言板
导读
设置
我的收藏
退出
腾讯QQ
微信登录
返回列表
首页
›
业界区
›
业界
›
博客园出海记-组装集装箱:自建 Kubernetes 集群 ...
博客园出海记-组装集装箱:自建 Kubernetes 集群
[ 复制链接 ]
上官泰
2025-10-1 17:04:43
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
在开篇中我们宣布了博客园出海计划的启航,出海航船选择了阿里云。
第一件准备工作是在航船上组装集装箱 —— 搭建 Kubernetes 集群。
出海根据地选在了阿里云新加坡机房,Kubernetes 集群用阿里云 ECS 自己搭建,没有使用阿里云容器服务 ACK。
首先购买一台 ECS 用于部署 Control Plane 节点,Control Plane 是指挥协调控制中心,不干具体活,所以不需要很高的配置,选择了2核4G的经济型 ECS 实例(ecs.e-c1m2.large),操作系统选用了 Ubuntu 24.04,加入新建的 kube 安全组(集群中的节点服务器都会加入这个安全组),主机名是 kube-cp-01。
准备工作
安装 k8s 三驾马车
安装 kubelet + kubeadm + kubectl,使用的版本是 1.33.4
安装所需的软件包
apt-get update
apt-get install -y apt-transport-https ca-certificates curl gnupg
复制代码
添加 k8e 安装源的签名秘钥
curl -fsSL https://pkgs.k8s.io/core:/stable:/v1.33/deb/Release.key | sudo gpg --dearmor -o /etc/apt/keyrings/kubernetes-apt-keyring.gpg
chmod 644 /etc/apt/keyrings/kubernetes-apt-keyring.gpg
复制代码
添加 k8e 安装源
echo 'deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://pkgs.k8s.io/core:/stable:/v1.33/deb/ /' | sudo tee /etc/apt/sources.list.d/kubernetes.list
chmod 644 /etc/apt/sources.list.d/kubernetes.list
复制代码
apt-get 命令安装三驾马车
apt-get update
apt-get install -y kubelet kubectl kubeadm
复制代码
确认版本
~# kubelet --version
Kubernetes v1.33.4
~# kubectl version
Client Version: v1.33.4
~# kubeadm version -o short
v1.33.4
复制代码
配置网络
开启 IPv4 包转发
echo "net.ipv4.ip_forward = 1" | tee /etc/sysctl.d/k8s.conf
sysctl --system
复制代码
安装容器运行时 containerd
采用手动安装方式,安装的 containerd 版本是 2.1.4
下载并解压至 /usr/local
wget -c https://github.com/containerd/containerd/releases/download/v2.1.4/containerd-2.1.4-linux-amd64.tar.gz
tar Cxzvf /usr/local containerd-2.1.4-linux-amd64.tar.gz
复制代码
通过 systemd 自动运行 containerd
mkdir -p /usr/local/lib/systemd/system
wget -c https://raw.githubusercontent.com/containerd/containerd/main/containerd.service -O /usr/local/lib/systemd/system/containerd.service
systemctl daemon-reload
systemctl enable --now containerd
复制代码
安装 runc
wget -c https://github.com/opencontainers/runc/releases/download/v1.3.1/runc.amd64
install -m 755 runc.amd64 /usr/local/sbin/runc
复制代码
安装 CNI 插件
wget -c https://github.com/containernetworking/plugins/releases/download/v1.8.0/cni-plugins-linux-amd64-v1.8.0.tgz
mkdir -p /opt/cni/bin
tar Cxzvf /opt/cni/bin cni-plugins-linux-amd64-v1.8.0.tgz
复制代码
生成 containerd 配置
mkdir /etc/containerd
containerd config default > /etc/containerd/config.toml
复制代码
在 /etc/containerd/config.toml 中启用 SystemdCgroup
[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.runc]
...
[plugins.'io.containerd.cri.v1.runtime'.containerd.runtimes.runc.options]
SystemdCgroup = true
复制代码
重启 containerd 使配置生效
systemctl restart containerd
复制代码
安装 containerd 命令行工具 nerdctl
wget -c https://github.com/containerd/nerdctl/releases/download/v2.1.4/nerdctl-2.1.4-linux-amd64.tar.gz
tar -zxf nerdctl-2.1.4-linux-amd64.tar.gz
mv nerdctl /usr/bin/nerdctl
复制代码
将 nerdctl 的默认命名空间设置为 k8s.io
mkdir /etc/nerdctl
echo 'namespace = "k8s.io"' | tee /etc/nerdctl/nerdctl.toml
复制代码
创建高可用集群
在 /etc/hosts 中添加 control-plane-endpoint 的主机名解析
127.0.0.1 kube-api
复制代码
用 kubeadm 命令创建集群
kubeadm init \
--control-plane-endpoint "kube-api:6443" \
--upload-certs \
--pod-network-cidr=10.0.0.0/8 \
--skip-phases=addon/kube-proxy
复制代码
注:没有安装 kube-proxy 是因为会用 cilium 取代它
出现下面的输出说明集群创建成功了
Your Kubernetes control-plane has initialized successfully!
...
复制代码
注:上面的输出内容中包含加入 control-plane 与 worker 节点的命令,后面会用到
用 nerdctl ps 命令查看容器运行情况
root@kube-cp-01 ~ # nerdctl ps
CONTAINER ID IMAGE COMMAND CREATED STATUS
f54d0fc6215a registry.k8s.io/kube-proxy:v1.33.4 "/usr/local/bin/kube…" About a minute ago Up
73cbd7ab3d69 registry.k8s.io/kube-scheduler:v1.33.4 "kube-scheduler --au…" About a minute ago Up
5ff05420d284 registry.k8s.io/kube-controller-manager:v1.33.4 "kube-controller-man…" About a minute ago Up
7031f91cfc16 registry.k8s.io/kube-apiserver:v1.33.4 "kube-apiserver --ad…" About a minute ago Up
2c79907098d4 registry.k8s.io/etcd:3.5.21-0 "etcd --advertise-cl…" About a minute ago Up
975b724b2814 registry.k8s.io/pause:3.10 "/pause" About a minute ago Up
复制代码
添加 kubectl 用到的配置文件
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
复制代码
查看节点运行情况
root@kube-cp-01 ~ # kubectl get nodes
NAME STATUS ROLES AGE VERSION
kube-cp-01 Ready control-plane 2m41s v1.33.4
复制代码
注:这里 control-plane node 处于 Ready 状态,如果用了 kube-proxy,要等完成安装 CNI 网络插件才会处于 Ready 状态
查看 pod 运行情况
root@kube-cp-01 ~ # kubectl get pods -n kube-system 1 ↵
NAME READY STATUS RESTARTS AGE
coredns-674b8bbfcf-994fx 0/1 Pending 0 2m40s
coredns-674b8bbfcf-bsgdd 0/1 Pending 0 2m40s
etcd-kube-cp-01 1/1 Running 0 2m46s
kube-apiserver-kube-cp-01 1/1 Running 0 2m45s
kube-controller-manager-kube-cp-01 1/1 Running 0 2m44s
kube-proxy-vlvt9 1/1 Running 0 2m40s
kube-scheduler-kube-cp-01 1/1 Running 0 2m44s
复制代码
coredns 处于 Pending 状态是因为还没安装 CNI 网络插件
安装 CNI 网络插件
选用 cilium 作为 CNI(容器网络接口) 插件
安装 cilium cli
wget -c https://github.com/cilium/cilium-cli/releases/download/v0.18.7/cilium-linux-amd64.tar.gz
tar xzvfC cilium-linux-amd64.tar.gz /usr/local/bin
复制代码
安装 cilium
[code]root@kube-cp-01 ~ # cilium install --version 1.18.1 \ --namespace kube-system \ --set bpf.masquerade=true \ --set kubeProxyReplacement=trueℹ️ Using Cilium version 1.18.1
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
博客园
出海
组装
集装箱
自建
相关帖子
GOSIM 开源出海工作坊:给开源创业者的忠告
博客园出海记-K8S集群优化:一次命中注定的失败
让博客园设置支持PlantUml画图
官宣!博客园&小马算力达成战略合作——为开发者注入强劲“算力引擎”
出海 AI 公司招 Java 大佬|北京
博客园出海记-组装集装箱:搭建 Kubernetes 集群
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
照妖镜
相关推荐
业界
GOSIM 开源出海工作坊:给开源创业者的忠告
0
37
娄静曼
2025-10-06
业界
博客园出海记-K8S集群优化:一次命中注定的失败
2
149
鞍汉
2025-10-06
业界
让博客园设置支持PlantUml画图
4
493
桂册
2025-10-12
业界
官宣!博客园&小马算力达成战略合作——为开发者注入强劲“算力引擎”
1
598
颖顿庐
2025-10-21
安全
出海 AI 公司招 Java 大佬|北京
0
798
全叶农
2025-11-05
业界
博客园出海记-组装集装箱:搭建 Kubernetes 集群
3
545
柩通奉
2025-11-05
回复
(4)
姥恫
2025-10-16 02:13:35
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
感谢分享,学习下。
黎娅茜
2025-11-1 02:23:28
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
不错,里面软件多更新就更好了
于映雪
2025-11-21 01:52:11
回复
使用道具
举报
照妖镜
猛犸象科技工作室:
网站开发,备案域名,渗透,服务器出租,DDOS/CC攻击,TG加粉引流
谢谢楼主提供!
劳怡月
2025-11-30 10:35:16
回复
使用道具
举报
照妖镜
程序园永久vip申请,500美金$,无限下载程序园所有程序/软件/数据/等
谢谢分享,辛苦了
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
回复
本版积分规则
回帖并转播
回帖后跳转到最后一页
浏览过的版块
安全
科技
代码
签约作者
程序园优秀签约作者
发帖
上官泰
2025-11-30 10:35:16
关注
0
粉丝关注
16
主题发布
板块介绍填写区域,请于后台编辑
财富榜{圆}
anyue1937
9994893
kk14977
6845356
3934307807
991122
4
xiangqian
638210
5
宋子
9986
6
闰咄阅
9991
7
刎唇
9993
8
俞瑛瑶
9998
9
蓬森莉
9952
10
匝抽
9986
查看更多