我是kubernetes的新手,我正在尝试在自己的PC中添加PVC statefulset。PV和PVC如下所示:
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE
neo4j-backups 5Gi RWO Retain Bound default/backups-claim manual 1h
NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE
backups-claim Bound neo4j-backups 5Gi RWO manual 51m
Run Code Online (Sandbox Code Playgroud)
基本上,我希望有状态集的所有Pod都可以看到该卷的内容,因为备份文件存储在该卷中。
可以在这里找到使用过的Statefulset
Minikube版本:
minikube version: v0.25.2
Kubernetes版本:GitVersion:"v1.9.4"
我有许多秘密要传递到k8部署中,这变得非常冗长,下面是从秘密中传递redis秘密的一个示例redis-secrets。
- name: REDIS_HOST
valueFrom:
secretKeyRef:
name: redis-secrets
key: REDIS_HOST
- name: REDIS_PASSWORD
valueFrom:
secretKeyRef:
name: redis-secrets
key: REDIS_PASSWORD
- name: REDIS_PORT
valueFrom:
secretKeyRef:
name: redis-secrets
key: REDIS_PORT
Run Code Online (Sandbox Code Playgroud)
是否可以将所有机密传递redis-secrets到部署中,而这些机密的密钥是env变量密钥?
如果有一个使用kubectl的用例不应该用于获取滚动更新?
尽管我们给kubectl提供了命令原始意图,但是应用了一个描述集群资源的源文件随着时间的推移而更新,那么有哪些用例不应该使用?
我正在尝试在 docker 命令外壳中打印一个循环。当我在第一行运行容器时,它似乎在执行 ID 时工作,但是当我打印日志时,它显示“语法错误:未终止的引用字符串”我找不到这里出了什么问题?你能帮我吗。
C:\Users\Anik Barua
? docker run -d --name simple2 busybox /bin/sh -c 'i=0; while true; do echo ; i=1; sleep 1; done'
8bb4bfbe11f24f897ba66bb090e010eed24fd8cf1685e7c0a41b77abe34f864d
C:\Users\Anik Barua
? docker logs simple2
while: line 1: syntax error: unterminated quoted string
C:\Users\Anik Barua
? docker logs -f simple2
while: line 1: syntax error: unterminated quoted string
Run Code Online (Sandbox Code Playgroud) 我正在尝试制作一个随机组生成器,将学生列表分成 n 个几乎相等的分区(例如,如果有 11 名学生和三个组,我们需要两组 4 人和一组 3 人)。我们需要对 x 个作业重复此过程。我们从文件中读取学生列表,并从文件中读取组。这是我到目前为止的代码:
import csv
import unittest
def studentgenerator(num_asmt, num_stud, student_list,
assignment_teams):
with open(student_list , "r") as student:
list_students = csv.reader(student)
student_groups = []
for x in range (0, num_asmt):
random.shuffle(list_students)
div = len(list_students)/float(num_stud)
for x in xrange(num_stud):
student_groups = lst[int(round(div * x)): int(round(div *
(x + 1))]\
for group in student_groups:
with open(assignment_teams, "w") as team:
list_assignment_groups = csv.writer(team)
list_assignment_groups.writerow(group)
student_list.close()
assignment-teams.close()
Run Code Online (Sandbox Code Playgroud)
我似乎无法让分区程序按照我想要的方式工作,并且我认为从文件读入/读出出现了问题,但我不确定我到底做错了什么。
https://docs.docker.com/get-started/part2/#dockerfile
Windows 10 专业版泊坞窗版本 18.06.0-ce
运行 docker build -tfriendlyhello 后,出现以下错误:
将构建上下文发送到 docker 守护进程 5.12 KB 步骤 1/7:FROM python :2.7-slim 2.7-slim:从库\python 中提取条目列表中的未知清单没有匹配的清单
我想用 minikube 公开我的 kubernetes 集群。
考虑我的树
.
??? deployment.yaml
??? Dockerfile
??? server.js
??? service.yaml
Run Code Online (Sandbox Code Playgroud)
我在本地构建了我的 docker 镜像,并且能够通过
kubectl create -f deployment.yaml
kubectl create -f service.yaml
Run Code Online (Sandbox Code Playgroud)
. 但是当我跑
$ kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 2h
nodeapp LoadBalancer 10.110.106.83 <pending> 80:32711/TCP 9m
Run Code Online (Sandbox Code Playgroud)
没有外部 ip 可以连接到集群。试图暴露一个 pod,但外部 Ip 没有。为什么没有外网ip?
$ cat deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: nodeapp
labels:
app: nodeapp
spec:
replicas: 2
selector:
matchLabels:
app: nodeapp
template:
metadata:
labels:
app: …Run Code Online (Sandbox Code Playgroud) 我安装了最新的 Docker CS,从 Docker Hub获得了一个LAMP 镜像。我正在尝试在其中创建一个数据库并使用保存在其中的数据库制作新图像。
docker run --name mycontainer fauria/lamp
这将启动基于 Ubuntu 的容器并启动 Apache 服务器。MySQL 服务器也在容器中运行。docker exec -i -t mycontainer bashmysql -u root
CREATE DATABASE mydbname;
USE mydbname;
CREATE FUNCTION ...
...docker stop mycontainerdocker commitdocker ps -l -qmynickname/appname:v1docker container rm mycontainer现在我预计如果我基于新图像运行容器,我已经在那里有了数据库。但它不在那里。
docker run --name mycontainer --rm -p 80:80 -e LOG_STDOUT=true -e LOG_STDERR=true -e LOG_LEVEL=debug -v /home/username/dev/appname/www:/var/www/html mynickname/appname:v1
我错过了什么?
我有一个Kubernetes服务,通过这样做选择:
spec:
selector:
backend: nlp-server
Run Code Online (Sandbox Code Playgroud)
如果有多个Pods匹配选择器,那请求Pod的Service路由?
我正在使用默认ClusterIP设置.搜索"ClusterIP:在集群内部IP上公开服务.选择此值使服务只能从集群中访问.这是默认的ServiceType." 在文档中
如果我希望服务路由到有意义的Pod(负载较小),
那么内部负载均衡器是我需要的吗?
我正在重复使用Dockerfile包含以下内容的 a :
ADD dist /dist/\nARG JAR_FILE\nADD target/${JAR_FILE} /target/app.jar\nRUN sh -c \'touch /target/app.jar\'\nEXPOSE 8080\nENTRYPOINT ["sh", "-c", "java -jar /target/app.jar"]\nRun Code Online (Sandbox Code Playgroud)\n\n我理解除带有 的那一行之外的所有行touch。这个网站说:
\n\n\n\n
RUN sh -c \xe2\x80\x98touch /app.jar\xe2\x80\x99\xe2\x80\x93 触摸我们的文件,使其具有修改时间(Docker 默认情况下以 \xe2\x80\x9cunmodified\xe2\x80\x9d 状态创建所有容器文件)
我知道触摸文件会更改其修改日期。为什么 Docker 需要文件上的时间戳,或者为什么这样做是一个好习惯?
\n