在pod中的容器中,如何使用kubectl运行命令?例如,如果我需要在容器内执行类似的操作:
kubectl获得pods
我试过这个:在我的dockerfile中,我有这些命令:
RUN curl -LO https://storage.googleapis.com/kubernetes-release/release/$(curl -s https://storage.googleapis.com/kubernetes-release/release/stable.txt)/bin/linux/amd64/kubectl
RUN chmod +x ./kubectl
RUN sudo mv ./kubectl /usr/local/bin/kubectl
Run Code Online (Sandbox Code Playgroud)
编辑:我正在尝试OSX文件,我已将其更正为Linux二进制文件.(由@svenwltr更正
在创建docker文件时,这很成功,但是当我在容器内运行kubectl get pods时,
kubectl get pods
Run Code Online (Sandbox Code Playgroud)
我收到此错误:
与服务器的连接:被拒绝 - 您是否指定了正确的主机或端口?
当我在本地部署时,如果我的docker-machine没有运行,我遇到了这个错误,但是在容器内部如何运行docker-machine?
在本地,我通过运行以下命令来解决此错误:(dev是docker-machine的名称)
docker-machine env dev
eval $(docker-machine env dev)
Run Code Online (Sandbox Code Playgroud)
有人可以告诉我,我需要做什么?
我正在尝试从播放列表中下载所有视频:
我正在使用youtube-dl,命令是:
youtube-dl -citk –format mp4 –yes-playlist https://www.youtube.com/watch?v=7Vy8970q0Xc&list=PLwJ2VKmefmxpUJEGB1ff6yUZ5Zd7Gegn2
Run Code Online (Sandbox Code Playgroud)
但这仅下载第一个视频.不确定我做错了什么.
我有一个暴露类型= LoadBalancer的服务,当我做一个
kubectl describe services servicename
,
我得到这个输出:
Name: ser1
Namespace: default
Labels: app=online1
Selector: app=online1
Type: LoadBalancer
IP: 10.0.0.32
External IPs: 192.168.99.100
Port: <unset> 8080/TCP
NodePort: <unset> 30545/TCP
Endpoints: 172.17.0.10:8080,172.17.0.11:8080,172.17.0.8:8080 + 1 more...
Session Affinity: None
Run Code Online (Sandbox Code Playgroud)
有人可以指导以下疑问:
1.)我无法理解<unset>
Port和NodePort中的含义.另外,它如何影响我的服务?
2.)当我想要服务时,我使用了<external-ip:NodePort>
正确的服务?那么Port的用途是什么?
我使用gensim在我自己的语料库上训练了doc2vec和相应的word2vec.我想用t-sne用文字来形象化word2vec.如图所示,图中的每个点都有"单词".
我在这里看了一个类似的问题:t-sne on word2vec
在它之后,我有这个代码:
import gensim import gensim.models as g
from sklearn.manifold import TSNE
import re
import matplotlib.pyplot as plt
modelPath="/Users/tarun/Desktop/PE/doc2vec/model3_100_newCorpus60_1min_6window_100trainEpoch.bin"
model = g.Doc2Vec.load(modelPath)
X = model[model.wv.vocab]
print len(X)
print X[0]
tsne = TSNE(n_components=2)
X_tsne = tsne.fit_transform(X[:1000,:])
plt.scatter(X_tsne[:, 0], X_tsne[:, 1])
plt.show()
Run Code Online (Sandbox Code Playgroud)
这给出了一个带点但没有单词的图形.那是我不知道哪个点代表哪个词.如何用点显示单词?
我有一个使用 Gunicorn 运行 python 服务的 docker 容器。这就是服务的启动方式:
\n\ngunicorn --bind 0.0.0.0:6435 --certfile=cert.pem --keyfile=key.pem --ssl-version=5 --ciphers=EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH app:app -w=5 --timeout=500 --daemon
但是,我无法找到 5 名工人的日志文件。查找这些日志文件的默认路径是什么?
\n\n我尝试使用 find 命令,find / -type f -name "hs_err_pid"
因为这些是gunicorn 保存日志文件的默认文件名。但这给了我以下权限错误:
find: \xe2\x80\x98/proc/1/map_files\xe2\x80\x99: Operation not permitted\nfind: \xe2\x80\x98/proc/16/map_files\xe2\x80\x99: Operation not permitted\nfind: \xe2\x80\x98/proc/89/map_files\xe2\x80\x99: Operation not permitted\n
Run Code Online (Sandbox Code Playgroud)\n\n有什么办法可以找到日志文件吗?
\n我正在尝试使用2个容器创建一个容器,每个容器都有不同的图像!我不确定如何将两个不同的容器暴露给客户端.以下是我的部署yaml文件.
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: checkdifimage
spec:
replicas: 1
template:
metadata:
labels:
app: checkdifimagelab
spec:
containers:
- name: checkallcont1
image: <dockerimage>
ports:
- containerPort: 32030
- name: checkall1cont2
image: <dockerimage2>
ports:
- containerPort: 32031
Run Code Online (Sandbox Code Playgroud)
我正在进行部署后,目前正在做什么.我运行以下命令来公开服务:
kubectl expose pod checkdifimage --port=8080 --type=NodePort --name=diffimage
Run Code Online (Sandbox Code Playgroud)
这适用于单个容器,并且能够从其他客户端访问该服务.但是当我使用2个容器时,我只能打一个容器.我该怎样继续打两个容器?此外,如果有人可以请指导使用一个具有一个图像的pod与一个具有多个图像的pod有什么优缺点!
目前,我正在做一些内存密集型的文字处理,我必须构建sparse matrix
的float32s
与尺寸~ (2M, 5M)
.我在阅读5M文档的语料库时逐列构建此矩阵.为此,我使用了稀疏dok_matrix
数据结构SciPy
.但是,当到达第500 000个文档时,我的内存已满(使用大约30GB)并且程序崩溃.我最终想要做的是,使用矩阵对矩阵执行降维算法sklearn
,但是,如上所述,不可能在内存中保持和构造整个矩阵.我已经研究过numpy.memmap
,正如sklearn支持这一点,并尝试memmap
了SciPy稀疏矩阵的一些潜在的numpy数据结构,但我无法成功实现这一点.
我不可能以密集格式保存整个矩阵,因为这需要40TB的磁盘空间.所以,我认为,HDF5
和PyTables
对我来说没有选项(?).
我现在的问题是:如何动态构建稀疏矩阵,但是直接写入磁盘而不是内存,以后我可以在sklearn中使用它?
谢谢!
我有一个大约20GB的巨大数据集.我已经使用graphlab.SFrame.read_csv()读取了数据.我有一个日期列,以yyyy-dd-mm格式读取为字符串.但我希望将列作为日期时间对象读取.我该怎么做?
我知道一种方法是迭代每一行并使用python代码进行更改.还有其他方法吗?可能会更快?
我使用输入管道方法将数据提供给图形,并tf.train.shuffle_batch
实现生成批处理数据.然而,随着训练的进行,张量流变得越来越慢,以后的迭代.我很困惑导致它的根本原因是什么?非常感谢!我的代码片段是:
def main(argv=None):
# define network parameters
# weights
# bias
# define graph
# graph network
# define loss and optimization method
# data = inputpipeline('*')
# loss
# optimizer
# Initializaing the variables
init = tf.initialize_all_variables()
# 'Saver' op to save and restore all the variables
saver = tf.train.Saver()
# Running session
print "Starting session... "
with tf.Session() as sess:
# initialize the variables
sess.run(init)
# initialize the queue threads to start to shovel data
coord …
Run Code Online (Sandbox Code Playgroud) 我们有一个 docker 镜像。我正在尝试使用 kubernetes 来部署它。我的疑问是,我可以部署一个带有单个容器的 Pod,但在容器启动时不在容器中运行任何进程吗?但启动后运行它。也就是说,容器启动后,进入容器的bash,并运行进程(假设是一个java进程)?那可能吗?
现在,当我尝试部署一个没有运行进程的 Pod 时,我收到以下错误:
后退重新启动失败的 docker 容器同步 Pod 时出错,跳过:无法使用 CrashLoopBackOff 为“containerName”“StartContainer”:
但是当我用 java 进程启动容器时,它就可以工作了。不确定是否是因为容器中没有进程?请指导。
kubernetes ×4
python ×3
docker ×2
dataframe ×1
dockerfile ×1
gensim ×1
graphlab ×1
gunicorn ×1
matrix ×1
memory ×1
numpy ×1
performance ×1
python-3.x ×1
scikit-learn ×1
scipy ×1
sframe ×1
tensorflow ×1
word2vec ×1
youtube ×1
youtube-dl ×1