我在裸机 ubuntu 服务器上安装了 kubernetes,下面是 kubectl version 命令的输出
Client Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.0", GitCommit:"fff5156092b56e6bd60fff75aad4dc9de6b6ef37", GitTreeState:"clean", BuildDate:"2017-03-28T16:36:33Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"} Server Version: version.Info{Major:"1", Minor:"6", GitVersion:"v1.6.3", GitCommit:"0480917b552be33e2dba47386e51decb1a211df6", GitTreeState:"clean", BuildDate:"2017-05-10T15:38:08Z", GoVersion:"go1.7.5", Compiler:"gc", Platform:"linux/amd64"}
我在 docker 容器中运行 google shellinabox。这一切都适用于 docker 容器,但是当我将相同的图像放入 kubernetes pod 并使用 kubernetes 服务公开它时,我与 shellinabox 的浏览器 session 在约 60 秒后超时。由于这适用于独立的 docker 容器,我认为这是由 kubernetes 引起的。 kubernetes 是否有任何超时,我该如何配置。
有什么帮助吗?
最佳答案
启用 session 亲和性以将流量定向到每个客户端 session 的一个 pod 这是相同的部署。
apiVersion: extensions/v1beta1
kind: Deployment
metadata:
name: shellinabox
labels:
k8s-app: shellinabox
tier: frontend
namespace: default
spec:
replicas: 2
template:
metadata:
labels:
k8s-app: shellinabox
spec:
containers:
- name: shellinabox
image: sspreitzer/shellinabox:latest
env:
- name: SIAB_PASSWORD
value: abc123
- name: SIAB_SUDO
value: 'true'
ports:
- containerPort: 4200
---
apiVersion: v1
kind: Service
metadata:
name: shellinabox-svc
labels:
app: shellinabox-svc
namespace: default
spec:
type: NodePort
ports:
- port: 4200
targetPort: 4200
selector:
k8s-app: shellinabox
sessionAffinity: ClientIP
关于linux - kubernetes 服务在大约后暴露 shellinabox 超时。 60秒,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45223787/