标签: orchestration

编排引擎如何工作

关于这个话题,我有几个问题.例如,我发现了许多论文,如"迈向语义Web服务的动态编排","复合Web服务的分散编排"等等......但在实践中,我只发现了与Bitztalk或ESB链接的编排(I意味着大软件程序员).

是否有可能自己开发和编配语言?开发编排引擎的最佳方法是什么?

orchestration

3
推荐指数
1
解决办法
6243
查看次数

Rancher与其他容器编排之间的区别

我在牧场官方网页上看过

Rancher是一个开源软件平台,使组织能够在生产中运行容器.使用Rancher,组织不再需要使用一组独特的开源技术从头开始构建容器服务平台.Rancher提供管理生产中容器所需的整个软件堆栈.

基于此描述,我认为Rancher是一个像容器编排docker-compose.但正如我在同一页上读到的那样:

许多用户选择使用容器编排和调度框架来运行容器化应用程序.Rancher包括今天所有流行的容器编排和调度框架的分发,包括Docker Swarm,Kubernetes和Mesos.

这一段让我觉得Rancher不是一个容器编排,而是控制那些东西的东西.请告诉我Rancher和其他容器编排有什么区别.

orchestration docker docker-compose docker-swarm rancher

3
推荐指数
1
解决办法
2369
查看次数

docker stack deploy不会删除当前yaml compose文件中未声明的服务

我目前在管道中使用Docker Swarm模式,我使用大量docker stack deploy -c compose-file.yml name-of-the-stack的命令来更新堆栈与最新的docker镜像.它完全有效,除非我不从yaml文件中删除服务.在这种情况下,stack deploy命令应该在更新另一个的映像之上删除不再存在的服务,但行为是它使容器保持运行并且这不是预期的行为.由于这个结果我有改变了它docker stack rm name-of-the-service,然后docker stack deploy -c compose-file.yml name-of-stack.但这有另一个可怕的副作用,随机影响容器:命令docker stack rm name-of-the-stack经常使nginx容器代理的可靠性完全不可靠(似乎与此问题相关https://github.com/docker/docker/issues/24244).事实上,nginx容器(在另一个堆栈中,但在相同的覆盖网络中),负责处理容器之间的所有请求,并使用Docker Swarm模式的路由网格功能在它们之间进行代理传递.重新创建部署的堆栈,无法代理请求,就好像它试图将流量转发到没有更多的现有容器,这使得集成和行为测试失败.是否有一种方法可以在不使用docker stack rm的情况下进行一致的部署(到目前为止看起来非常错误)但是应用了yml compose文件的最新状态?

orchestration docker docker-compose docker-swarm-mode

3
推荐指数
1
解决办法
1104
查看次数

带有 Spring Boot 应用程序的 docker secret 在 docker swarm 模式下不起作用 /run/secrets

我正在尝试为 MySQL 容器和 Spring Boot 应用程序设置数据库密码的环境变量,这通常在 docker secrets 中声明。

echo "db_secured_password" | docker secret create secret -
Run Code Online (Sandbox Code Playgroud)

这里是配置文件:

spring boot 应用程序的-> application.yml

db:
  name: my-db
  host: localhost
  port: 3306
  username: root
  password: /run/secrets/db-root-password
spring:
  application:
    name: core-backend
  datasource:
    url: jdbc:mysql://${db.host}:${db.port}/${db.name}
    username: ${db.username}
    password: ${db.password}
Run Code Online (Sandbox Code Playgroud)

用于 docker swarm 模式下的 docker 堆栈 -> docker-compose.yml

version: '3.1'

services: 

  mysql-db:
    container_name: mysql-db
    image: mysql:8.0.12
    deploy:
      restart_policy:
        condition: on-failure
    volumes:
      - ./data/mysql:/var/lib/mysql
      - ./conf/mysql/my.cnf:/etc/mysql/conf.d/my.cnf
    environment:
      - MYSQL_ROOT_PASSWORD=/run/secrets/db-root-password
      - MYSQL_DATABASE=my_db
    ports: 
      - "3306:3306"
    secrets: 
      - db-root-password …
Run Code Online (Sandbox Code Playgroud)

orchestration docker spring-boot docker-swarm devops

3
推荐指数
1
解决办法
3190
查看次数

无法使用apache .NET库从C#应用程序连接到ZooKeeper

我正在使用在ubuntu vm上运行的Zookeeper v3.3.3 + dfsg2-1ubuntu1.(VM正在使用NAT网络连接运行)

在我的开发机器(Windows 7)上,如果我运行:zkCli.cmd -server 10.10.135.19:2181它连接正常,我可以执行creates,gets等.

我有一个C#4应用程序,它对Org.Apache.ZooKeeper v1.0.0.0具有NuGet依赖性.

我通过以下方式使用它:

  class watcher : IWatcher
  {
     private readonly ManualResetEventSlim _connected = new ManualResetEventSlim(false);
     private WatchedEvent _event;

     public void WaitUntilConnected()
     {
        _connected.Wait();

        if (_event == null) throw new ApplicationException("bad state");
        if (_event.State != KeeperState.SyncConnected)
           throw new ApplicationException("cannot connect");
     }

     public void Process(WatchedEvent @event)
     {
        _event = @event;
        _connected.Set();
     }
  }

  ...

  public void TestZooKeeper()
  {
     _countdownWatcher = new watcher();
     _zk = new ZooKeeper(
        Settings.Default.ZookeeperConnectionString, …
Run Code Online (Sandbox Code Playgroud)

c# orchestration apache-zookeeper

2
推荐指数
1
解决办法
5556
查看次数

从Biztalk Orchestration调用.Net程序集:在哪里放置配置?

我有一个外部.net程序集,包括app.config,我需要从Biztalk Orchestration调用.

我已经将一些日志记录到.net程序集中,并且可以看到它无法读取或找不到app.config文件,因为ConfigurationManager.AppSettings.Count为0

我使用gacutil/i path.to.dll将.net程序集安装到GAC,我不确定app.config会发生什么.

当我从Biztalk Orchestration调用app.config时,我是如何确定app.config的?

谢谢.

biztalk app-config orchestration

2
推荐指数
1
解决办法
2352
查看次数

使用ansible从新创建的ebs卷中获取卷ID

我使用ansible的ec2_vol模块来创建一个ebs卷.我看到了源代码,发现它在内部调用了带有用户指定参数的boto的create_volume()方法.我想注册ec2_vol模块的返回值并获取新创建的卷的volume_ids.

截至目前我的剧本看起来像

- name: Attach a volume to previously created instances
  local_action: ec2_vol instance={{item.id}} volume_size=5 aws_access_key={{aa_key}} aws_secret_key={{as_key}} region={{region}}
  with_items: ec2.instances
  register: ec2_volumes
  ignore_errors: yes

- name: Stop the instances
  local_action: command aws ec2 stop-instances --profile=xervmon --instance-id={{item.id}}
  with_items: ec2.instances
  ignore_errors: yes

- name: Detach volume from instances
  local_action: command aws ec2 detach-volume --profile=xervmon --volume-id=????                                                
  ignore_errors: yes
Run Code Online (Sandbox Code Playgroud)

我想知道如何获取新创建的卷的体积ID.我看到run_instances()方法的返回对象有一个属性实例,其中包含一个实例列表.但我找不到任何适当的create_volume()方法返回值的文档.

任何帮助表示赞赏.

谢谢,

cloud amazon-ec2 orchestration amazon-web-services ansible

1
推荐指数
1
解决办法
3093
查看次数

基于文本的Linux Configuration Manager

是否有类似于Ansible/Chef/Puppet的工具来管理单个实例/机器的配置,将所有设置保存在一个地方?

我正在考虑某种基于文本的配置管理器,您可以将设置放入文本文件并通过发出一个命令来应用所有设置.

我非常喜欢Ansible的工作方式:yaml文件中的所有内容都很好地构建,您可以配置各种依赖项/任务/模板等.

所有上述工具都提供了在同一台机器上运行客户端和服务器部件的可能性,但所有这些工具都是为了在大量或一组机器上部署设置而构建的,这对于此目的来说似乎是过度的.还是我错了

linux puppet orchestration chef-infra ansible

1
推荐指数
1
解决办法
56
查看次数

带有 sudo 的 Ansible 临时命令

我试图执行这个命令:

ansible somegroup -m raw -a "docker ps -a" --ask-pass -K --become-user root
Run Code Online (Sandbox Code Playgroud)

但错误是:

尝试连接到 unix:///var/run/docker.sock 上的 Docker 守护进程套接字时,权限被拒绝:

如何更正 ansible adhoc 的 set 指令以在 root 下使用sudo su -

linux orchestration ansible ansible-ad-hoc

1
推荐指数
1
解决办法
4025
查看次数

Azure 持久功能。编排产生了许多不需要的活动

我正在尝试使用持久函数进行一些数据转换。为此,我有一个 TimerTriggered 函数,它调用一个 Orchestration 函数,然后产生转换活动。

我的问题是,在调用 Orchestration 函数时,它会立即产生许多活动,甚至在到达启动该函数的代码部分之前。我的编排功能只应该启动 3 个活动,因为我的 dataList 只包含 3 个元素。

但是可以看出,在我下面包含的日志输出中,在调用编排函数后,在包含context.CallActivityAsync的循环开始之前,许多活动函数将立即运行

我根本找不到任何原因。在启动了这些许多活动之后,我的循环将实际运行并开始我期望的 3 个活动。

定时器触发功能:

[FunctionName("StartupFunc")]
public static async Task Run([TimerTrigger("0 */5 * * * *", RunOnStartup = true, UseMonitor = false)]TimerInfo myStartTimer, [OrchestrationClient] DurableOrchestrationClient orchestrationClient, TraceWriter log)
{
    log.Info("*** STARTUP FUNCTION *** - Time triggered");
    List<OrchestrationModel> ExportModels = await getData();

    log.Info("** Orchestration Start **");
    string id = await orchestrationClient.StartNewAsync("OrchestratorFunc", ExportModels);
    log.Info("** Orchestration End **");
}
Run Code Online (Sandbox Code Playgroud)

编排功能:

[FunctionName("OrchestratorFunc")]
public static async Task<string> TransformOrchestration([OrchestrationTrigger] DurableOrchestrationContext …
Run Code Online (Sandbox Code Playgroud)

c# azure orchestration azure-durable-functions

1
推荐指数
1
解决办法
781
查看次数