从零到一构建流程
云平台资源准备与网络配置
Kubernetes 集群与核心组件
服务网格与工具组件
CI/CD 与应用部署
游戏服务与数据存储
在云账户中新建资源组项目,进入容器服务,点击"高级设置"选择对应项目以便“财务分账”。
配置 CFS 文件存储,用于持久化数据存储需求。
国外环境直接安装:
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
国内环境手动安装:
wget https://get.helm.sh/helm-v3.16.4-linux-amd64.tar.gz tar -xf helm-v3.16.4-linux-amd64.tar.gz mv linux-amd64/helm /usr/local/bin/ chmod 755 /usr/local/bin/helm helm version
# 设置仓库信息 helm repo add higress.io https://higress.io/helm-charts helm repo update mkdir higress && cd higress vim values.yaml
values.yaml 配置示例:
global:
o11y:
enabled: true # 测试环境改为 false
grafana:
pvc:
storageClassName: "cfs"
prometheus:
pvc:
storageClassName: "cfs"
loki:
pvc:
storageClassName: "cfs"
pvc:
rwxSupported: true
higress-console:
ingress:
enabled: true
domain: <domain>
annotations:
higress.io/whitelist-source-range: "<IP1>,<IP2>"
web:
login:
prompt: "<company>手游<project>-生产环境"
higress-core:
gateway:
replicas: 2 # 测试环境改为 1
service:
annotations:
service.cloud.tencent.com/direct-access: "true"
service.cloud.tencent.com/pass-to-target: "true"
# 部署命令 helm install higress -n higress-system higress.io/higress \ --create-namespace --render-subchart-notes -f values.yaml
helm repo add koordinator-sh https://koordinator-sh.github.io/charts/ helm repo update mkdir koordinator && cd koordinator vim values.yaml
# koordinator values.yaml
manager:
resources:
limits:
cpu: 1000m
memory: 2Gi
requests:
cpu: 100m
memory: 256Mi
scheduler:
resources:
limits:
cpu: 1000m
memory: 2Gi
requests:
cpu: 100m
memory: 256Mi
koordlet:
resources:
limits:
cpu: 1000m
memory: 2Gi
requests:
cpu: 100m
memory: 256Mi
# 部署 koordinator helm install koordinator koordinator-sh/koordinator \ -n koordinator-system --create-namespace -f values.yaml # 应用 colocation 配置 kubectl apply -f colocation.yaml
进入腾讯云控制台 → 容器服务 → API 中心,调用接口获取集群 kubeconfig 内容
vi 1.json # 粘贴从API获取的内容
# 创建处理脚本
vi 1.py
import json
with open('1.json') as j:
print(json.load(j)['Response']['Kubeconfig'])
# 运行脚本
python3 1.py
insecure-skip-tls-verify: true~/.kube/config 文件vim ~/.kube/config # 粘贴修改后的内容 kubectl get svc # 验证配置
# 配置内网 Harbor 地址节省流量 echo "" | sudo tee -a /etc/hosts # 安装 kubectl 补全工具 yum install -y bash-completion kubectl completion bash > /etc/bash_completion.d/kubectl source /etc/bash_completion.d/kubectl echo 'alias k=kubectl' >> ~/.bashrc echo 'complete -o default -F __start_kubectl k' >> ~/.bashrc source ~/.bashrc
wget https://mirror.ghproxy.com/https://github.com/derailed/k9s/releases/download/v0.27.4/k9s_Linux_amd64.tar.gz tar -xvf k9s_Linux_amd64.tar.gz sudo mv k9s /usr/local/bin/
# 在新集群执行 kubectl config get-contexts -o name # 获取上下文名称 kubectl get svc # 获取服务列表 kubectl edit svc kubernetes # 修改为 NodePort 类型 vim ~/.kube/config # 配置证书忽略
# 在 ArgoCD 集群执行
kubectl exec -it $(kubectl get pods -n argocd -l app.kubernetes.io/name=argocd-server -o jsonpath='{.items[0].metadata.name}') -n argocd -- /bin/bash
# 在容器内执行
cat > config << EOF
# 修改完成后的新集群 kubeconfig 内容
EOF
argocd admin initial-password -n argocd
argocd login --insecure 127.0.0.1:8080
# 用户名:admin,密码:<password>
# 添加集群
argocd cluster add <cluster_name> --kubeconfig config --name <new_name>
Settings → Repositories → VIA HTTPS,填写仓库地址
# 生成初始化 SQL vi create_login_sql_smallServer.py python3 create_login_sql_smallServer.py # 生成路径:/root/clearDB/init_db_sql/init_login_<project>-<env>.sql
搭建 p0x-clear-db 接口工具,调整环境配置参数
vi <project>-clear-db.py # 添加对应环境配置: # Env_namespace: k8s命名空间 # Env_node: k8s节点 # env_git_subdir: git仓库 # env_appname: argocd应用名称 # env_cosdir: 腾讯云cos桶
yum install -y mysql # 每个集群的 node1 安装 MySQL 客户端
# 配置 loki 日志收集 vim log-all.yaml # 新增对应环境配置 kubectl apply -f log-all.yaml # 配置 Glog vim glog.py # 修改对应环境 python3 glog.py > glog-<project>-<env>.yaml kubectl apply -f glog-<project>-<env>.yaml
✅ 集群状态正常 ✅ 网关访问正常 ✅ 数据库连接成功 ✅ 日志收集配置 ✅ 监控告警设置