1、编写yml文件
这一步,可以让ai写
帮我写一个k8s的启动yml文件,启动下面springboot镜像,docker镜像地址:192.168.2.240:15000/wss-demo:v001
1、做好端口映射:容器内部端口:31012,外部端口31022
2、限制内存:256M,限制cpu 1核心
apiVersion: apps/v1
kind: Deployment
metadata:
name: wss-demo-deployment
labels:
app: wss-demo
spec:
replicas: 1
selector:
matchLabels:
app: wss-demo
template:
metadata:
labels:
app: wss-demo
spec:
containers:
- name: wss-demo
image: 192.168.2.240:15000/wss-demo:v001
ports:
- containerPort: 31012 # 容器内部端口
protocol: TCP
resources:
limits:
cpu: "1" # 限制 CPU 1 核心
memory: "256Mi" # 限制内存 256 MiB
requests:
cpu: "1" # 请求 CPU 1 核心(保证资源)
memory: "256Mi" # 请求内存 256 MiB
# 可选:添加就绪和存活探针,提升可靠性
# readinessProbe:
# tcpSocket:
# port: 31012
# initialDelaySeconds: 10
# periodSeconds: 5
# livenessProbe:
# tcpSocket:
# port: 31012
# initialDelaySeconds: 20
# periodSeconds: 10
# 如果私有仓库需要认证,取消下面注释并提前创建 secret
# imagePullSecrets:
# - name: regsecret
---
apiVersion: v1
kind: Service
metadata:
name: wss-demo-service
spec:
type: NodePort # 使用 NodePort 对外暴露端口
selector:
app: wss-demo # 匹配 Deployment 中的 Pod 标签
ports:
- port: 31012 # Service 内部端口(集群内访问用)
targetPort: 31012 # 容器的目标端口
nodePort: 31022 # 外部访问端口(节点端口)
protocol: TCP2、配置k3s
2.1、配置k3s允许http拉取镜像
master和agent都需要执行
1、配置文件
sudo mkdir -p /etc/rancher/k3s
sudo tee /etc/rancher/k3s/registries.yaml <<EOF
mirrors:
192.168.2.240:15000:
endpoint:
- http://192.168.2.240:15000
configs:
"192.168.2.240:15000":
tls:
insecure_skip_verify: true # 可选,如果用 HTTP 其实不需要证书验证
plainHTTP: true # 关键:允许使用 HTTP
EOF2、重启k3s
2.2、默认 Kubernetes/容器运行时需要先启动一个“pause”容器来持有 Pod 的网络命名空间
pause镜像上传到registry,k3s从本地registry拉取pause镜像
# 拉取官方 pause 镜像
docker pull rancher/mirrored-pause:3.6
# 打标签并推送到您的私有仓库
docker tag rancher/mirrored-pause:3.6 192.168.2.240:15000/rancher/mirrored-pause:3.6
docker push 192.168.2.240:15000/rancher/mirrored-pause:3.6
修改k3s的启动文件
sudo mkdir -p /etc/systemd/system/k3s.service.d
cat <<EOF | sudo tee /etc/systemd/system/k3s.service.d/override.conf
[Service]
ExecStart=
ExecStart=/usr/local/bin/k3s server \
--pause-image=192.168.2.240:15000/rancher/mirrored-pause:3.6 \
--selinux-enabled=false
EOF
sudo systemctl daemon-reload
sudo systemctl restart k3s增加这一行
--pause-image=192.168.2.240:15000/rancher/mirrored-pause:3.6[Service]
ExecStart=
ExecStart=/usr/local/bin/k3s server \
--kubelet-arg=cgroup-driver=systemd \
--kubelet-arg=feature-gates=KubeletInUserNamespace=false \
--pause-image=192.168.2.240:15000/rancher/mirrored-pause:3.6如果是agent服务,执行下面配置(master也可以使用下面方式)
K3s agent 会同时读取环境文件和 /etc/rancher/k3s/config.yaml 配置文件。您只需创建配置文件,无需修改已有的 k3s-agent.service.env。
sudo mkdir -p /etc/rancher/k3s
sudo tee /etc/rancher/k3s/config.yaml <<EOF
pause-image: "192.168.2.240:15000/rancher/mirrored-pause:3.6"
EOFsudo systemctl restart k3s-agent3、配置kuboard,增加服务
3.1、从yaml创建服务,填入刚刚生成的yml内容

3.2、服务详情


3.3、访问服务
选择任一node节点访问即可
