Golang高级软件工程师职位 - PaaS与计算平台方向 @ United Internet
Golang高级软件工程师职位 - PaaS与计算平台方向 @ United Internet IONOS凭借其商业应用,是欧洲领先的主机和云应用提供商之一。我们凭借先进的技术,每天赢得来自许多不同国家的超过800万客户的信赖。
- 您的任务
IONOS PaaS计算团队正在寻找一位积极主动且经验丰富的软件工程师。
PaaS计算团队负责为客户开发和维护托管Kubernetes服务。我们利用Kubernetes Operator管理IONOS云基础设施,以配置和维护可靠、地理冗余的Kubernetes集群。我们负责企业客户大量节点和集群的整个生命周期,持续更新Kubernetes堆栈以及我们自己的驱动程序,例如云控制器管理器和容器存储接口。
我们的小团队负责服务的整个生命周期:我们构建它、交付它、运行它。我们正在寻找一位能够加入我们团队,并与我们一起努力提供最佳产品的人选。
- 主要使用Golang进行编程(Kubernetes Operator、REST API、库和工具)。
- 设计解决方案,为客户提供新功能。
- 开发、改进和维护完整的工具链(例如Helm Charts、Github Actions、GitOps)。
- 自动化繁琐的任务,特别是平台的自愈机制。
- 在自愈机制不足时,参与待命值班。
我们看重
- 深厚的编程经验,包括编写、审查、测试和部署设计良好的代码。
- 对云环境和Kubernetes有深入了解。
- 具备生产环境运维和故障排除经验,包括监控、告警和日志分析。
- 熟悉Linux操作系统。
- 了解网络基础知识。
更多关于Golang高级软件工程师职位 - PaaS与计算平台方向 @ United Internet的实战教程也可以访问 https://www.itying.com/category-94-b0.html
你好,
如果你对这份工作感兴趣,请通过申请链接提交申请。这是一个全职职位,要求申请者在德国拥有永久居留权。你需要做好搬迁准备。
此致, Pawel
更多关于Golang高级软件工程师职位 - PaaS与计算平台方向 @ United Internet的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html
你好, 希望你一切顺利。 我们是一家CMMI三级认证的公司,拥有超过650名专业人员,以极具竞争力的价格服务全球客户。 请与我们联系,以便进一步讨论您当前的需求。 此外,您可以通过Skype联系我:cis.scott 或发送电子邮件至:scott@cisinlabs.com 很高兴能与您合作。 祝好, Scott
作为专注于Golang和云原生领域的开发者,这个职位要求的技术栈与当前行业趋势高度契合。以下是对职位要求的技术解析及关键点示例:
核心Golang技术栈示例:
// Kubernetes Operator开发示例(使用controller-runtime)
type ClusterReconciler struct {
client.Client
Log logr.Logger
Scheme *runtime.Scheme
}
func (r *ClusterReconciler) Reconcile(ctx context.Context, req ctrl.Request) (ctrl.Result, error) {
cluster := &v1alpha1.KubernetesCluster{}
if err := r.Get(ctx, req.NamespacedName, cluster); err != nil {
return ctrl.Result{}, client.IgnoreNotFound(err)
}
// 基础设施配置逻辑
if err := r.reconcileInfrastructure(cluster); err != nil {
return ctrl.Result{RequeueAfter: 30 * time.Second}, err
}
// 自愈机制实现
if cluster.Status.Health == v1alpha1.Unhealthy {
if err := r.healCluster(cluster); err != nil {
r.Log.Error(err, "failed to heal cluster")
}
}
return ctrl.Result{}, nil
}
云控制器管理器扩展示例:
// 自定义云控制器实现
type IONOSCloudProvider struct {
client *ionos.Client
}
func (p *IONOSCloudProvider) LoadBalancer() (cloudprovider.LoadBalancer, bool) {
return p, true
}
func (p *IONOSCloudProvider) EnsureLoadBalancer(ctx context.Context, clusterName string, service *v1.Service, nodes []*v1.Node) (*v1.LoadBalancerStatus, error) {
// IONOS特定负载均衡器配置
lb, err := p.client.CreateLoadBalancer(ctx, ionos.LBConfig{
Name: getLBName(service),
Algorithm: "ROUND_ROBIN",
Datacenter: extractDCFromNodes(nodes),
})
return &v1.LoadBalancerStatus{
Ingress: []v1.LoadBalancerIngress{{IP: lb.IP}},
}, err
}
自动化工具链集成:
// GitOps同步控制器示例
type GitOpsSync struct {
gitClient *git.Client
k8sClient kubernetes.Interface
repoURL string
}
func (g *GitOpsSync) SyncManifests() error {
manifests, err := g.gitClient.FetchManifests(g.repoURL, "production")
if err != nil {
return fmt.Errorf("failed to fetch manifests: %w", err)
}
for _, manifest := range manifests {
if err := applyManifest(g.k8sClient, manifest); err != nil {
metrics.GitOpsSyncErrors.Inc()
return err
}
}
metrics.LastSyncTimestamp.SetToCurrentTime()
return nil
}
生产环境运维关键点:
- 监控集成:需实现Prometheus指标暴露
func instrumentedHandler() http.Handler {
registry := prometheus.NewRegistry()
registry.MustRegister(apiRequests, clusterOperations)
return promhttp.HandlerFor(registry, promhttp.HandlerOpts{})
}
- 自愈机制:需要实现健康检查与自动修复
func (m *HealingManager) CheckAndHeal(ctx context.Context) {
for _, cluster := range m.GetClusters() {
health := m.CheckClusterHealth(cluster)
if health.Score < 0.8 {
go m.TriggerHealingPipeline(ctx, cluster, health.Issues)
}
}
}
该职位要求完整的服务生命周期管理能力,从Operator开发到生产运维。技术深度体现在需要理解Kubernetes内部机制(如cloud-controller-manager、CSI驱动),同时具备平台工程思维,能够构建可靠的自动化系统。IONOS的规模(800万客户)意味着需要处理高可用性、多地域部署等复杂场景。

