我在Digital Ocean上的群集上使用了kubernates.
我在Pod中的容器内部有应用程序.我需要与此应用程序建立外部连接.我需要访问具体实例(因为我有超过10个Pod与此应用程序).
所以,我的问题是:我如何进行外部访问这个应用程序.
例如,我有公共IP 192.168.9.9
并有2个pod实例.首先监听端口8990,它的Pod IP是10.0.0.1,第二个监听端口8991,它的Pod IP是10.0.0.1.
因此,我需要将流量从192.168.9.9:8990重定向到10.0.0.1:8990和192.168.9.9:8991到10.0.0.1:8991.
是的,我可以通过手动使用iptables来实现.但我想自动完成.当新的Pod启动时,我想在iptables中创建记录.
我可以使用api来监视服务:
127.0.0.1:8080/api/v1beta1/watch/services
Run Code Online (Sandbox Code Playgroud)
并且可以在这里获取pod的ip:
127.0.0.1:8080/api/v1beta1/pods
Run Code Online (Sandbox Code Playgroud)
我找到了解决方案,在这里做了类似于我的需求.但看起来糟糕的建筑决策.在新的Pod启动后,是否有更好的方法将外部流量重定向到pod?
我在centos上配置了exim邮件服务器.它没有加密类型.但不是SSL和TLS.我没有得到这种错误的正确解决方案.任何人都可以告诉解决方案以及为什么在exim main.log文件中出现此错误消息?
错误消息如下所示在exim main.log文件中.
2015-03-17 10:34:16 SMTP协议同步错误(无需等待问候语即发送输入):H = acp-node [10.7.2.137] input ="\ 026\003\001"拒绝连接
我正在使用这个CIS模块arildjensen/cis-puppet
并希望覆盖/etc/profileCIS模块上的文件声明
所以我在这篇文章之后创建了这个新的清单
class profile::hadoop::settings inherits cis {
file { '/etc/profile':
ensure => 'file',
owner => 'root',
group => 'root',
mode => '0600',
source => 'puppet:///modules/profile/hadoop/etc/profile',
}
}
Run Code Online (Sandbox Code Playgroud)
但是这仍然会给出错误
Error: Duplicate declaration: File[/etc/profile] is already declared in file /tmp/vagrant-puppet/modules-ab9b45e51a68912cdc576c81d46a2260/profile/manifests/hadoop/settings.pp:9; cannot redeclare at /tmp/vagrant-puppet/modules-ab9b45e51a68912cdc576c81d46a2260/cis/manifests/linuxcontrols/c0076.pp:12 on node server.localdomain
Run Code Online (Sandbox Code Playgroud) 我是新手来抨击脚本,所以我错过了一些东西,但甚至无法想象缺少什么.以前脚本运行良好,CentOS 5但最近我已切换到Ubuntu 14.04 LTS,循环开始不按预期工作.这是代码:
#!/bin/bash
for n in {10..99}
do
if ! ps aux | grep "ABC$n DEF " | grep -v grep
then
echo "Activating ABC$n DEF "
fi
done
Run Code Online (Sandbox Code Playgroud)
如果我./runMyScript.sh按照预期的那样运行脚本,因为它从10到99激活:
Activating ABC10 DEF
Activating ABC11 DEF
Activating ABC12 DEF
...
Activating ABC99 DEF
Run Code Online (Sandbox Code Playgroud)
但是,如果我运行代码,因为sh runMyScript.sh它不循环并且它激活单个元素,Activating ABC{10..99}DEF仅打印.脚本文件也可以作为两个方法执行-rwxr-xr-x.
我不知道这是否正常,因为两种方法的工作方式就像平台上的魅力一样CentOS 5.我知道在shell ./上运行bash并sh运行,但那么在CentOS上有什么用,在Ubuntu上有什么用呢?我可以做什么,两个平台,两种方法都一样?
我花了几周时间尝试解决构建Hadoop的不同错误.SO有助于指出我偶尔会遇到问题的答案,但经过大量的搜索后,我无法完成整个过程.
所有这一切开始已经有几周了,所以我忘记了大部分明确的错误信息,但是我已经包含了一些问题
今天我终于让Hadoop从git repo源构建,并希望记录面向类似问题的SO社区成员的流程.
对于那些试图从源代码构建Hadoop的人来说,这就是我从源代码编译所有内容的方法.
一些关于配置的说明:
我最近不得不在centOS 7服务器上设置一个nginx服务器.为了运行dataiku软件.
每件事似乎都运行良好,但一旦我尝试访问页面,我绝对没有.
在本地的elinks我设法得到nginx默认网页,但不是从我的浏览器,所以我认为它来自我的nginx配置.
这是我的nginx.conf:
user nginx;
worker_processes 1;
error_log /var/log/nginx/error.log warn;
pid /var/run/nginx.pid;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
Run Code Online (Sandbox Code Playgroud)
这是default.conf包含的文件:
server {
listen 80 default;
server_name _;
#charset koi8-r;
#access_log /var/log/nginx/log/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect …Run Code Online (Sandbox Code Playgroud) 我在Windows上通过Vagrant访问文件时遇到问题.我已经在OS X上使用它已经有一段时间了,我的Vagrantfile设置正确,每次都有效.
我已经向我的同事发送了相同的Vagrant文件,他在Windows上并且在尝试通过浏览器访问文件时收到"权限被拒绝".
为了清楚起见,服务器在访问浏览器中的"dev.local"而不是Vagrant本身时返回权限错误...这将是Windows上或VM内的配置错误.
VM是CentOS 6.5
Vagrantfile:
# -*- mode: ruby -*-
# vi: set ft=ruby :
# Vagrantfile API/syntax version. Don't touch unless you know what you're doing!
VAGRANTFILE_API_VERSION = "2"
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "chef/centos-6.5"
config.vm.network "private_network", ip: "192.168.33.21"
config.vm.network :forwarded_port, guest: 80, host: 8080
config.vm.provision :shell, :path => "install.sh"
config.vm.hostname = "dev.local"
config.vm.synced_folder ".", "/home", id: "vagrant", :nfs => false, :mount_options => ["dmode=777","fmode=777"]
config.ssh.insert_key = false
config.ssh.username = "vagrant"
config.ssh.password = "vagrant"
end
Run Code Online (Sandbox Code Playgroud)
任何Windows Vagrant用户都可以对此有所了解吗?
我正在尝试将在Windows Web服务器上运行的应用程序移动到在Centos 7上运行的Linux Web服务.它基于调用Microsoft SQL过程的应用程序,并且在构建它时使用了sqlsrv驱动程序.但是现在当我把它移动到新服务器时显然它不起作用因为sqlrv驱动程序它不受我所读过的linux支持.
问题是我正在尝试安装php-mssql以重新编写我的代码以使用此驱动程序但我无法使用PHP 5.6.13在Centos 7上安装该软件包.当我尝试安装包时,我得到以下内容,我不知道如何修复它或进一步:
[root@localhost /]# yum install php56w-mssql
Failed to set locale, defaulting to C
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: ftp.ines.lug.ro
* epel: fedora.mirrors.telekom.ro
* extras: ftp.ines.lug.ro
* updates: ftp.ines.lug.ro
* webtatic: uk.repo.webtatic.com
Resolving Dependencies
--> Running transaction check
---> Package php56w-mssql.x86_64 0:5.6.13-1.w7 will be installed
--> Processing Dependency: php56w-pdo(x86-64) = 5.6.13-1.w7 for package: php56w-mssql-5.6.13-1.w7.x86_64
--> Processing Dependency: libsybdb.so.5()(64bit) for package: php56w-mssql-5.6.13-1.w7.x86_64
--> Running transaction check
---> Package freetds.x86_64 …Run Code Online (Sandbox Code Playgroud) 你读得正确:我想让Linux的"查找"命令更慢,并使用更少的系统资源.我创建了一个每10分钟运行一次find命令的cronjob,但是当它运行时,find命令几乎占用了我所有的CPU大约3分钟,几乎没有任何东西留给我的SO.
所以我希望能够使"查找"命令运行得慢一点,因此它不会使用我的Centos服务器的这么多资源并在10分钟内稳定运行而不是使用所有资源3分钟.
可能吗?
我正试着打电话
echo bintohex(random_bytes(30));
Run Code Online (Sandbox Code Playgroud)
但我的日志显示
PHP Fatal error: Call to undefined function bintohex()
Run Code Online (Sandbox Code Playgroud)
PHP 5.6.17
Apache 2.2.15
CentOS 6.7
Mcrypt 2.5.8 (在phpinfo()页面上安装和验证)
extension = mcrypt.so (present)
任何想法为什么我找不到bintohex()或random_bytes()函数?