我在AWS上运行了一个现成的Kubernetes集群,随kube-up脚本一起安装.我想运行一些私有Docker Hub存储库中的容器.但我一直收到"未找到"的错误:
> kubectl get pod
NAME READY STATUS RESTARTS AGE
maestro-kubetest-d37hr 0/1 Error: image csats/maestro:latest not found 0 22m
Run Code Online (Sandbox Code Playgroud)
我创建了一个包含.dockercfg文件的秘密.我已通过运行此处发布的脚本确认它有效:
> kubectl get secrets docker-hub-csatsinternal -o yaml | grep dockercfg: | cut -f 2 -d : | base64 -D > ~/.dockercfg
> docker pull csats/maestro
latest: Pulling from csats/maestro
Run Code Online (Sandbox Code Playgroud)
我已经确认我没有使用.dockercfg脚本的新格式,我看起来像这样:
> cat ~/.dockercfg
{"https://index.docker.io/v1/":{"auth":"REDACTED BASE64 STRING HERE","email":"eng@csats.com"}}
Run Code Online (Sandbox Code Playgroud)
我试过在Debian而不是OS X上运行Base64编码,没有运气.(它产生的字符串与预期的相同.)
这是我的复制控制器的YAML:
---
kind: "ReplicationController"
apiVersion: "v1"
metadata:
name: "maestro-kubetest" …Run Code Online (Sandbox Code Playgroud) 我想实现一个粘性会话Ingress控制器.Cookie或IP哈希都可以; 只要相同的客户端通常路由到同一个pod,我就很高兴.
我坚持的观点:似乎Kubernetes服务模式意味着无论如何我的连接都会被随机代理.我可以使用会话亲和性配置我的Ingress控制器,但是一旦连接越过那个并点击服务,kube-proxy就会随机地路由我.服务上有sessionAffinity: ClientIP标志,但这对我没有帮助 - 客户端IP将始终是Ingress pod的内部IP.
我错过了什么吗?鉴于Kubernetes目前的架构,这可能吗?
你站在地牢里.在你之前,有一组5级书呆子.他们希望您为他们运行"龙与地下城"活动.
你运行了几个阶段,你的球员正在升级,而且事情通常会膨胀.但是战斗有点慢.你决定拿出你的+4 Halberd of Objective-C并编写一个iPad应用来自动化NPC骰子在战斗中滚动.威胁说,书呆子向你走来."算法生成的数字,"一个人咆哮道,"是对真正随机性的空洞模仿!你不应该用你的伪随机污秽来玷污我们的神圣战役!"
你滚动说服他arc4random_uniform()不仅仅是足够......而且失败了.书呆子会满足于真正的随机性.当你拼命地依赖MacBook时,他们会把你当作囚犯,写一个从random.org中检索数据的课程.
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"YYYY/YYYY-MM-dd"];
NSURL *url = [NSURL URLWithString:[NSString stringWithFormat:@"%@%@%@",
@"http://www.random.org/files/",
[formatter stringFromDate:[NSDate date]],
@".bin"]];
NSURLConnection *theConnection = [[NSURLConnection alloc] initWithRequest:
[NSURLRequest requestWithURL:url] delegate:self];
Run Code Online (Sandbox Code Playgroud)
保存数据后,允许从下载的字节生成随机数0-255.
-(int) nextInt:(int)start end:(int)end
{
int upperBound = end - start + 1;
unsigned char result;
int maxModulo = 255 - (255 % upperBound);
do {
NSRange range = {index, sizeof(char)};
[randos getBytes:&result range:range];
index += sizeof(char);
} while (result > maxModulo); //avoid modulo …Run Code Online (Sandbox Code Playgroud) 这是我想要 ffmpeg 输出的内容:
这是我到目前为止所拥有的。这有点管用。
ffmpeg \
-f lavfi \
-re \
-i 'color=s=320x240:r=30:c=red' \
-thread_queue_size 512 \
-i 'rtmp://localhost/stream/iphone' \
-c:v libx264 \
-f flv \
-filter_complex "\
[1:v]scale=320:240[stream]; \
[0:v][stream]overlay=0:0:eof_action=pass[output] \
"\
-map '[output]' \
-tune zerolatency \
'rtmp://localhost/stream/output'
Run Code Online (Sandbox Code Playgroud)
发生了什么:它启动并开始流式传输我的 iPhone 的输出,没有问题。当我断开连接时,它会挂起很长时间,也许 20 秒。然后它开始输出红色,好吧。但如果我重新连接手机,它就不会恢复。它仍然是红色的。两个问题:
完整详细的输出,如果有帮助的话。我在 Ubuntu Wily 上使用截至 2016 年 3 月 18 日最新的 git 版本的 ffmpeg。RTMP 服务器是nginx-rtmp。
我在 AWS 上的 Kubernetes 集群中托管了以下服务。
两者都工作得很好。我目前将它们都设置为type: LoadBalancer,因此它们都具有向集群提供入口的弹性负载均衡器。
我只想拥有一个 ELB——它们要花钱,而且没有理由不在同一个外部 IP 上安装 Minecraft 服务器和 HTTP(S) 服务器。
我尝试创建一个没有选择器的服务,然后尝试手动创建一个引用该服务的 Endpoints 对象,但它似乎不起作用。这是 gist 上的设置。当我尝试从集群内部curl分配时nodePort,它只是挂起。
有没有办法让一个服务平衡到多个服务?
kubernetes ×3
amazon-elb ×1
docker ×1
dockerhub ×1
ffmpeg ×1
ios ×1
nginx ×1
objective-c ×1
random ×1
rtmp ×1