小编Pyr*_*bie的帖子

不能使用不安全的私钥ssh到流浪的虚拟机(vagrant 1.7.2)

我有一个3个VM的集群.这是Vagrantfile:

 # -*- mode: ruby -*-
# vi: set ft=ruby :


hosts = {
  "host0" => "192.168.33.10",
  "host1" => "192.168.33.11",
  "host2" => "192.168.33.12"
}

Vagrant.configure("2") do |config|
  config.vm.box = "precise64"
  config.vm.box_url = "http://files.vagrantup.com/precise64.box"
  config.ssh.private_key_path = File.expand_path('~/.vagrant.d/insecure_private_key')

  hosts.each do |name, ip|
    config.vm.define name do |machine|
      machine.vm.hostname = "%s.example.org" % name
      machine.vm.network :private_network, ip: ip
      machine.vm.provider "virtualbox" do |v|
          v.name = name
      #    #v.customize ["modifyvm", :id, "--memory", 200]
      end
    end
  end
end
Run Code Online (Sandbox Code Playgroud)

这曾经工作,直到我最近升级:

ssh -i ~/.vagrant.d/insecure_private_key vagrant@192.168.33.10
Run Code Online (Sandbox Code Playgroud)

相反,vagrant要求输入密码.

似乎最近版本的vagrant(我在1.7.2上)为每台机器创建了一个安全的私钥.我通过跑步发现了它

vagrant ssh-config
Run Code Online (Sandbox Code Playgroud)

输出显示每个主机的不同密钥.我通过区分它们来验证键是不同的. …

ssh vagrant vagrantfile

35
推荐指数
3
解决办法
6万
查看次数

如何使用NodePort在外部公开Kubernetes服务

我在Mac OSX上运行CoreOS k8s集群,这意味着它在VirtualBox + Vagrant中运行

我有我的service.yaml文件:

spec:
  type: NodePort
Run Code Online (Sandbox Code Playgroud)

当我输入:

kubectl get services
Run Code Online (Sandbox Code Playgroud)

我知道了:

NAME             CLUSTER_IP       EXTERNAL_IP   PORT(S)    SELECTOR                                
kubernetes       10.100.0.1       <none>        443/TCP    <none>                             
my-frontend      10.100.250.90    nodes         8000/TCP   name=my-app
Run Code Online (Sandbox Code Playgroud)

什么是"节点"外部IP?如何从外部访问我的前端?

kubernetes

17
推荐指数
2
解决办法
3万
查看次数

如何断开与所有调试会话的连接?

在开发过程中,我经常会遇到多个实时会话.PyCharm为我提供了关闭所有调试器选项卡(或所有其他选项卡)的选项,但是对于每个实时会话,它会打开此对话框,我必须单击每个选项卡以断开连接.有没有办法让PyCharm自动断开连接并终止所有进程?

在此输入图像描述

pycharm

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

Azure媒体服务直播流端点处于"启动"状态

默认的直播流端点无法启动,我无法停止或取消.摆脱它的唯一方法是删除整个资源组.我做了它并再次尝试相同的结果.我添加了1个流媒体单元,并在尝试第二次启动之前启用了CDN.知道问题是什么和/或如何使终点正常启动?

在此输入图像描述

azure http-live-streaming azure-media-services

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

如何用alembic将MySQL表转换为utf8字符集?

我的数据库是MySQL。我使用SqlAlchemy ORM定义和访问它。我使用Alembic进行迁移。我有一个模型,其中的字段曾经只包含英文文本(Ascii / latin-1)。现在,该字段需要包含Unicode文本。为了将模型转换为支持MySQL的Unicode,我需要添加以下类级别属性:mysql_character_set ='utf8'

class MyModel(Base):
    __tablename__ = 'mymodel'
    mysql_character_set = 'utf8'

    id = Column(Integer, primary_key=True)
    name = Column(String(64), unique=True, nullable=False)
Run Code Online (Sandbox Code Playgroud)

到目前为止,一切都很好。我想将此属性添加为Alembic迁移脚本的一部分。我通常使用Alembic出色的自动生成命令:

alembic revision --autogenerate
Run Code Online (Sandbox Code Playgroud)

问题在于该命令不能捕获所有模型更改,尤其不能捕获mysql_character_set属性。

如何手动将此属性添加到Alembic迁移脚本中?

sqlalchemy alembic

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

在MAC OSX上使用Python的SyslogHandler时,DEBUG和INFO消息在哪里?

我使用SysLogHandler配置了一个Python记录器,并作为测试使用所有级别记录了一些消息:debug,info,warning,error,critical.如果我运行'syslog'或者我查看Console.app显示,我会看到所有消息.因此,所有消息都被正确记录.但是,当我tail /var/log/messages.log没有看到DEBUG和INFO消息时.我读到了ASL,我看到一个名为/var/log/aslfull of binary files的目录,但是我根本不明白它是如何与syslog交互的.

python macos logging syslog

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

是否可以在上下文管理器的__exit __()方法中访问上下文对象(代码块)?

我想在exit()方法中再次调用代码对象,如果它引发异常(可能是几次,可能有延迟).我知道装饰器很容易,但我的动机是有时候我想重复一些代码片段,我不想提取到一个单独的函数并装饰它.我正在寻找这些方面的东西:

class again(object):
    def __enter__(self):
        pass

    def __exit__(self, exc_type, exc_val, exc_tb):
        if exc_type is not None:
            ????        # Invoke the code object again
            return True # eat exception
Run Code Online (Sandbox Code Playgroud)

它会像这样使用:

x = 0
with again():
    print x
    x += 1
    if x == 1:
         raise Exception('I hate 1')
Run Code Online (Sandbox Code Playgroud)

而预期的产出将是:

0
1  
Run Code Online (Sandbox Code Playgroud)

我可以找到一种方法来获取代码对象.没有任何上下文管理器属性似乎引用它(我想这不是真正需要的,因为它的工作只是在前后做事).

有可能吗?

python contextmanager

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

如何terraform导入VPC的AWS默认路由表?

此处的文档: https: //www.terraform.io/docs/providers/aws/r/default_route_table.html声称您可以使用 VPC id 导入默认路由表。

当我尝试这样做时,出现以下错误:

$ terraform import 'aws_default_route_table.aws-vpc' vpc-12345678

Error: resource aws_default_route_table doesn't support import
Run Code Online (Sandbox Code Playgroud)

我尝试使用路由表 ID 本身,以防文档不准确,但我得到了相同的错误。

我成功导入了路由表所属的VPC,并再次尝试导入路由表,但没有成功。

对于上下文 - 我需要导入默认路由表的原因是为 VPN 网关启用路由传播,如下所示:

resource aws_default_route_table aws-vpc {
  default_route_table_id = var.aws_default_route_table_id
  route {
    cidr_block = "0.0.0.0/0"
    gateway_id = var.aws_internet_gateway_id
  }
  propagating_vgws = [
    aws_vpn_gateway.aws-vpn-gw.id
  ]
}
Run Code Online (Sandbox Code Playgroud)

我是否遗漏了一些东西,或者真的不可能将现有的默认路由表导入到 terraform 中?

terraform terraform-provider-aws

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

通过EnvDTE以编程方式在C#中添加项目引用(而不是程序集引用)

在Visual Studio中,当您在.csproj文件中添加对解决方案中现有项目的引用时,它最终会如下所示:

<ProjectReference Include="..\TestProject2\TestProject2.csproj">
  <Project>{15EC8369-B0C5-4F71-A366-19042F450A2D}</Project>
  <Name>TestProject2</Name>
</ProjectReference>
Run Code Online (Sandbox Code Playgroud)

如果我通过EnvDTE添加对程序集DLL的引用:

var p = _project as VsProject;
p.References.Add(<path to assembly DLL>);
Run Code Online (Sandbox Code Playgroud)

它像这样结束:

<Reference Include="TestProject2.csproj">
  <HintPath>..\TestProject2\bin\Debug\TestProject2.csproj.dll</HintPath>
</Reference>
Run Code Online (Sandbox Code Playgroud)

这不是很好,因为如果我切换到Release版本,它仍然会引用调试程序集.另一个问题是我必须先构建引用的程序集,然后才能将其添加为引用.使用Visual Studio UI,我可以添加对未构建项目的引用.

是否可以通过EnvDTE API添加项目引用?

我知道我可以将.csproj文件作为XML文档操作并做任何我想做的事情,但是自从我开始在EnvDTE的路径上,我宁愿坚持下去.

c# project-reference visual-studio-2010 envdte

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