【Agones系列】Agones初体验

简介: 本文介绍了Agones并在阿里云容器服务上运行Agones进行游戏服部署

Agones是为了游戏服在Kubernetes上部署、运行、伸缩而设计的框架。具体相关介绍可参考官方网站和Github。本文介绍了在阿里云ACK上部署并使用Agones的全过程。

 

Install Agones on ACK

  1. 首先创建需要的Agones命名空间
$ kubectl create namespace agones-system
  1. 通过配置文件安装对应版本的Agones,这里我选择的是1.23版本
$ kubectl apply -f https://raw.githubusercontent.com/googleforgames/agones/release-1.23.0/install/yaml/install.yaml

安装完成后,命名空间下有以下资源:

get deploy -n agones-system
NAME                READY   UP-TO-DATE   AVAILABLE   AGE
agones-allocator    3/3     3            3           3d
agones-controller   1/1     1            1           3d
agones-ping         2/2     2            2           3d

kubectl get po -n agones-system
NAME                                 READY   STATUS    RESTARTS   AGE
agones-allocator-554c79cffc-6dpzp    1/1     Running   0          3d
agones-allocator-554c79cffc-jlp5t    1/1     Running   0          3d
agones-allocator-554c79cffc-kbn5w    1/1     Running   0          3d
agones-controller-864dd7dbc4-2ghs8   1/1     Running   0          3d
agones-ping-77b7dc578c-9dfk7         1/1     Running   0          3d
agones-ping-77b7dc578c-hhvff         1/1     Running   0          3d

kubectl get svc -n agones-system
NAME                               TYPE           CLUSTER-IP       EXTERNAL-IP       PORT(S)            AGE
agones-allocator                   LoadBalancer   172.16.157.137   47.105.53.1       443:30302/TCP      3d
agones-allocator-metrics-service   ClusterIP      172.16.238.137   
    
    
                 8080/TCP           3d
agones-controller-service          ClusterIP      172.16.150.98    
     
     
                  443/TCP,8080/TCP   3d
agones-ping-http-service           LoadBalancer   172.16.253.193   118.190.206.167   80:30770/TCP       3d
agones-ping-udp-service            LoadBalancer   172.16.10.63     47.104.240.179    50000:32691/UDP    3d
     
     
    
    

需要额外注意的是阿里云上无法连接gcr.io,我在节点上提前pull了个人制作的相同镜像,再打上gcr重名tag,绕过了这个问题。

Deploy a game server on Agones

在这里,我们使用Agones官方Github中的Unity示例(path: agones/examples/unity-sample),将项目导入Unity Editor。分别build server与client

使用项目中的Dockerfile制作服务镜像:

FROM ubuntu:18.04

WORKDIR /unity

# Need to build with UnityEditor in advance.
COPY Builds/Server/ ./

# [Workaround] Wait until the sidecar is ready.
CMD sleep 2 && ./UnitySimpleServer.x86_64

将其上传至镜像仓库后我们开始部署game server。部署的方式也很简单,直接apply yaml即可:

apiVersion: "agones.dev/v1"
kind: GameServer
metadata:
  name: "unity-simple-server"
spec:
  ports:
  - name: default
    portPolicy: Dynamic
    containerPort: 7777
  template:
    spec:
      containers:
      - name: unity-simple-server
        # 使用刚刚制作的game server镜像
        image: xxx:xx 

很快,gs将完成部署:

kubectl get gs
NAME                  STATE   ADDRESS         PORT   NODE                  AGE
unity-simple-server   Ready   120.27.21.131   7050   cn-xxx.192.xx.xx.48   2d

通过ADDRESS和PORT,我们使用客户端来连接game server,看看效果如何:

输入的句子成功在屏幕上显示了,说明游戏服务正常运行中

相关文章
|
5月前
|
JavaScript 关系型数据库 MySQL
nodejs使用初体验
文章介绍了Node.js的基本概念和使用方法,包括Node.js的定义、创建第一个应用、实现HTTP服务器服务和操作数据库的步骤。通过示例代码展示了如何使用Node.js创建服务和连接MySQL数据库,并使用npm安装所需的依赖包。
nodejs使用初体验
|
6月前
|
API Docker Windows
2024 Ollama 一站式解决在Windows系统安装、使用、定制服务与实战案例
这篇文章是一份关于Ollama工具的一站式使用指南,涵盖了在Windows系统上安装、使用和定制服务,以及实战案例。
2024 Ollama 一站式解决在Windows系统安装、使用、定制服务与实战案例
|
9月前
|
Ubuntu Linux Docker
课4-隐语SecretFlow、SecretNote安装部署
SecretFlow是支持Python 3.8及以上版本的隐私计算框架,兼容CentOS 7、Anolis8、Ubuntu 18.04等等。它提供两种安装包:所有需求的大体积`secretflow`和仅含基础功能的小体积`secretflow-lite`。用户可通过Docker、pip或源码安装。安装后,可使用Docker镜像在本地部署,并通过Ray进行集群仿真。更多详细信息和部署指南可在官方手册中找到。此外,SecretFlow还提供了类似Jupyter Notebook的SecretNote工具,实现多节点代码自动执行和跟踪。
|
SQL XML 编解码
手把手教你搭建SpringCloud项目(一)图文详解
手把手教你搭建SpringCloud项目(一)图文详解
4788 1
|
iOS开发
CTMediator 的初体验
​ 现在对于iOS开发的要求随着时代的发展,也在渐渐地演变。这几天看到了很多JD的要求,多多少少都会提到这样的一个名字-组件化。
|
Linux 程序员 数据库
飞天加速计划初体验
一次偶然的机会,让我有了人生第一台云服务器,有了它,我就能……
194 0
飞天加速计划初体验
|
NoSQL Java Linux
阿里云初体验
在云服务器上搭建java项目环境
|
存储 弹性计算 Linux
阿里云初体验心得
我是一名就读于计算机科学与技术专业的在校生,学习期间在老师那了解到了“飞天加速计划”,通过简单的答题之后,我领取到了一台ECS云服务器,并计划将其作为之后自学相应网站开发的基础。
|
运维 Kubernetes Cloud Native
【Agones系列】Agones总结与展望
在过往的文章,我们介绍了Agones的网络、生命周期以及弹性扩缩的特性。在本篇文章,我们将介绍Agones的一些其他特性,并对Agones的定位和使用进行一定程度的总结。最后,谈一谈游戏云原生的展望。
【Agones系列】Agones总结与展望
|
分布式计算 Java Hadoop
hadoop集群搭建初体验
hadoop集群搭建初体验