- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我对Kuberenetes / Dockers很陌生,并计划创建一个简单的Python Pod
它在群集上运行,并以固定的时间间隔(例如每天一次)映射群集节点和Pod。
我正计划使用可轻松访问kube-apiserver的Kubernetes Python客户端进行此操作。
我需要配置什么才能实现它?
最佳答案
Kubernetes用户创建:
[root@project1kubemaster stackoverflow]# kubectl create serviceaccount sampleuser
serviceaccount/sampleuser created
[root@project1kubemaster stackoverflow]# kubectl create clusterrolebinding sampleuserrolebinding --clusterrole=cluster-admin --serviceaccount=default:sampleuser
clusterrolebinding.rbac.authorization.k8s.io/sampleuserrolebinding created
创建python容器:
[root@project1kubemaster stackoverflow]# cat requirements.txt
kubernetes
aToken = open('/var/run/secrets/kubernetes.io/serviceaccount/token','r').read()
aConfiguration.host = "https://<maternode IP>:6443"
[root@project1kubemaster stackoverflow]# cat Dockerfile
FROM python:alpine3.7
WORKDIR /app
COPY requirements.txt .
COPY program.py
RUN pip install -r requirements.txt
CMD python ./program.py
[root@project1kubemaster stackoverflow]# docker build -t sample .
Sending build context to Docker daemon 46.8MB
Step 1/6 : FROM python:alpine3.7
alpine3.7: Pulling from library/python
...
Successfully built e98cea8cb850
Successfully tagged sample:latest
[root@project1kubemaster stackoverflow]#docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
sample latest e98cea8cb850 2 minutes ago 126MB
python alpine3.7 00be2573e9f7 21 months ago 81.3MB
[root@project1kubemaster stackoverflow]# docker tag e98cea8cb850 prasasai/sample
[root@project1kubemaster stackoverflow]# docker push prasasai/sample
The push refers to repository [docker.io/prasasai/sample]
515f285319c0: Pushed
b39d02c0a6c7: Pushed
3c22209f875e: Pushed
2ea55fcfd611: Pushed
5fa31f02caa8: Mounted from library/python
88e61e328a3c: Mounted from library/python
9b77965e1d3f: Mounted from library/python
50f8b07e9421: Mounted from library/python
629164d914fc: Mounted from library/python
latest: digest: sha256:93c7317f966fa723e406932221f0f1563243eba603c79fba2e113362cc22b4d8 size: 2200
编写Pod list ,运行并检查日志以查看输出:
[root@project1kubemaster stackoverflow]# cat samplepod.yaml
apiVersion: v1
kind: Pod
metadata:
name: samplepod
spec:
containers:
- image: prasasai/sample
name: samplepod
serviceAccountName: sampleuser
[root@project1kubemaster stackoverflow]# kubectl apply -f samplepod.yaml
pod/samplepod created
[root@project1kubemaster stackoverflow]# kubectl logs samplepod
Listing pods with their IPs:
192.168.67.65 default first-6fb86b947d-68zzz
192.168.67.66 default first-6fb86b947d-74vtf
192.168.121.1 default first-6fb86b947d-hb6l6
192.168.121.2 default first-6fb86b947d-rlqk9
192.168.67.67 default first-6fb86b947d-tdnbf
192.168.121.6 default hello-bd5c66899-8dchl
192.168.121.4 default hello-bd5c66899-9ssrc
192.168.121.5 default hello-bd5c66899-pjk7k
192.168.67.68 default hello-bd5c66899-pwpsm
192.168.67.69 default hello-bd5c66899-whjdt
192.168.121.7 default samplepod
192.168.67.75 default test1
为了满足您的要求(定期运行此pod),我们可以创建一个cronJob(每隔一分钟之后运行一次)
[root@project1kubemaster stackoverflow]# cat samplecron.yaml
apiVersion: batch/v1beta1
kind: CronJob
metadata:
name: sample-job
spec:
jobTemplate:
metadata:
name: sample-job
spec:
template:
metadata:
spec:
containers:
- image: prasasai/sample
name: sample-job
serviceAccountName: sampleuser
restartPolicy: OnFailure
schedule: '*/1 * * * *'
[root@project1kubemaster stackoverflow]# kubectl apply -f samplecron.yaml
cronjob.batch/sample-job created
[root@project1kubemaster stackoverflow]# kubectl get cronjobs
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
sample-job */1 * * * * False 0 <none> 8s
[root@project1kubemaster stackoverflow]# kubectl get cronjobs
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
sample-job */1 * * * * False 0 <none> 19s
[root@project1kubemaster stackoverflow]# kubectl get cronjobs
NAME SCHEDULE SUSPEND ACTIVE LAST SCHEDULE AGE
sample-job */1 * * * * False 1 25s 40s
关于python-3.x - 如何从Python容器内部访问kube-apiserver?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64646803/
我使用 kubeadm 安装了 kubernetes .为了启用基本身份验证,我添加了 --basic-auth-file=/etc/kubernetes/user-password.txt在我的 /
当使用kubeadmin init设置kubernetes集群时,它会创建一个集群,该集群将kube-apiserver,etcd,kube-controller-manager和kube-sched
我是OpenShift和Kubernetes的新手。 我需要在现有OpenShift环境上访问kube-apiserver oc v3.10.0+0c4577e-1 kubernetes v1.10.
假设拥有三个主节点的K8s集群, 我需要从在所有三个节点上运行的每个kube-apiserver还是仅从其中一个节点获取指标? 如果只有其中之一,那么我是否需要担心始终确保从同一节点获取指标,还是让d
我已经在centos上安装了etcd和kubernetes,现在我想安装kube-apiserver。我通过 snap 安装了 kube-apiserver。 sudo yum install epe
我正在尝试使用 kubeadm 在 Azure 中创建一个 HA Kubernetes 集群如此处所述 https://kubernetes.io/docs/setup/independent/hig
我按照官方Creating HA clusters with kubeadm搭建了一个高可用的Kubernetes集群指导。这是一个用于探索本地高可用性部署可行性的实验性集群,因此我在 VMware
诚挚的歉意。 我有一个4节点的Kubernetes集群,其中包含1个主节点和3个工作节点。我使用kubeconfig连接到kubernetes集群,因为昨天我无法使用kubeconfig连接。kube
我有一个健康的k8s集群。 kube-apiserver使用端口 8443 。 然后我做下面的事情。我也创建/编辑服务,并分配一个固定的nodePort 8443 。 apiVersion: v1 k
我今天重新启动了我的系统。之后,我的主系统和 Web 浏览器未连接以查找 kubernetes GUI。 当我运行命令时 systemctl status kube-apiserver.service
我正在尝试为开发环境(本地虚拟机)设置 kubernetes 集群。因为它是开发,所以我没有使用 api 服务器的工作证书。看来我必须使用安全连接才能连接小守护进程,例如 kube-proxy和kub
查看安装 Knative 的文档需要 Kubernetes 集群 v1.11 或更新版本并启用 MutatingAdmissionWebhook 准入 Controller 。因此,检查文档,我看到以
基本问题:当我尝试在我的主节点上使用 kube-apiserver 时,我收到 command not found 错误。如何安装/配置 kube-apiserver?任何指向示例的链接都会有所帮助。
kube-apiserver 是由 kubeadm init 创建的配置中的 containerd.service 启动的,如何检查 containerd.service 的配置以及它如何知道如何启动
如果我在重启后使用 kubectl 命令,我将收到错误消息。 x.x.x.x: 6443 被拒绝-您是否指定了正确的主机或端口? 如果我用 docker ps 检查我的容器,kube-apiserve
我的集群证书已过期,现在我无法执行任何 kubectls 命令。 root@node1:~# kubectl get ns Unable to connect to the server: x509:
sleeve mode Weave Net 允许将 NAT 后面的节点添加到网格中,例如没有外部 IP 的公司网络中的机器。 当 Weave Net 与 Kubernetes 一起使用时,可以将此类节
我对Kuberenetes / Dockers很陌生,并计划创建一个简单的Python Pod 它在群集上运行,并以固定的时间间隔(例如每天一次)映射群集节点和Pod。 我正计划使用可轻松访问kube
我在 1.10.11 K8s 版本中启动 kube-apiserver 时遇到不少故障。 它的健康检查返回 poststarthook/rbac/bootstrap-roles 失败。很烦人,出于安全
我在 AWS 上使用 KubeSpray 配置了一个集群。它有两个堡垒,一个 Controller ,一个 worker 和一个 etcd 服务器。 我在 APISERVER 日志中看到无穷无尽的消息
我是一名优秀的程序员,十分优秀!