我的公司正在使用Auth0进行身份管理,我们希望迁移到以下其中一个:
你能说一下平台有什么优势和劣势吗?是否有特别突出的功能或与从Auth0迁移特别相关的功能?
到目前为止,我能够安装gluu服务器,keycloak和wso2似乎非常棘手.
我有一个kind: Namespace模板yaml如下,
apiVersion: v1
kind: Namespace
metadata:
name: {{ .Values.namespace }}
namespace: ""
Run Code Online (Sandbox Code Playgroud)
当且仅当上面的namespace()没有在指向的kubernets集群中退出时,如何helm install创建上面给定的namespace({{ .Values.namespace }}){{ .Values.namespace }}
更新:
我让NodePort工作: kubectl get services
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 7d
my-release-nginx-ingress-controller NodePort 10.105.64.135 <none> 80:32706/TCP,443:32253/TCP 10m
my-release-nginx-ingress-default-backend ClusterIP 10.98.230.24 <none> 80/TCP 10m
Run Code Online (Sandbox Code Playgroud)
那我前进了吗?
在Docker for Mac上使用Helm安装Ingress(带Kubernetes的Edge)
https://github.com/kubernetes/charts/tree/master/stable/nginx-ingress
这会在localhost上运行 - 如果是的话,如何访问服务?
脚步:
helm install stable/nginx-ingress输出:
NAME: washing-jackal
LAST DEPLOYED: Thu Jan 18 12:57:40 2018
NAMESPACE: default
STATUS: DEPLOYED
RESOURCES:
==> v1/ConfigMap
NAME DATA AGE
washing-jackal-nginx-ingress-controller 1 1s
==> v1/Service
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
washing-jackal-nginx-ingress-controller LoadBalancer 10.105.122.1 <pending> 80:31494/TCP,443:32136/TCP 1s
washing-jackal-nginx-ingress-default-backend ClusterIP …Run Code Online (Sandbox Code Playgroud) 我正在尝试了解 k8s 和 helm。
创建舵图时,有 2 个文件:service.yaml和deployment.yaml. 它们都有一个名称字段。
如果我理解正确,部署将负责管理 pod、副本集等,从而管理服务。
基本上,为什么允许我为服务和部署使用单独的名称?在什么情况下我们希望这两个名称不同?一个部署可以有 1 个以上的服务吗?
我有一个HELM值文件,如下所示:
service:
environment: dev
spring_application_json: >-
{
"spring" : {
"boot" : {
"admin" : {
"client" : {
"enabled" : "false",
"url" : "http://website1",
"instance" : {
"service-base-url" : "http://website2",
"management-base-url" : "http://website3"
}
}
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
以及一个相应的模板文件,它抓取此值并将其作为环境变量插入到容器中.
spec:
replicas: {{ .Values.replicaCount }}
template:
spec:
imagePullSecrets:
- name: {{ .Values.image.pullSecret }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
env:
- name: ENVIRONMENT
value: "{{ .Values.service.environment }}"
- name: …Run Code Online (Sandbox Code Playgroud) Flink 官方文档提供了Standalone 和 Yarn Flink 集群的jobmanager 高可用解决方案。但是使用 Kubernetes Flink 集群应该怎么做才能实现高可用性呢?
从文档的Kubernetes 设置部分来看,我们似乎在部署到 Kubernetes 集群时只部署了一个 Jobmanager。那么Kubernetes Flink集群如何实现HA呢?
我在Jenkinsfile中有一个阶段,可根据与标签名称过滤器匹配的标签进行构建:
stage('Build Release from Tag') {
when {
tag '*RELEASE'
}
Run Code Online (Sandbox Code Playgroud)
为了使标签被发现,我必须添加标签发现和标签名称regex的匹配项,并添加到我的管道下Branch sources > GitHub:
管道会发现我推送的与过滤器匹配的标签。如果我单击一个为其运行构建,则它会运行与条件标签匹配的构建阶段。但是我期望,根据对博客文章的解释,构建会像分支的构建一样自动开始。
在扫描存储库日志中,我看到如下输出:
Checking tag TEST0.1.3.RELEASE
‘Jenkinsfile’ found
Met criteria
Changes detected: TEST0.1.3.RELEASE (null ? 4aea4ec43c1daf8290ea438ce0bf1a14a6afbc46)
No automatic builds for TEST0.1.3.RELEASE
Run Code Online (Sandbox Code Playgroud)
我还可以在repository events日志中看到输出,例如Received Push event for tag TEST.0.1.8.RELEASE in repository ryandawsonuk/activiti-build CREATED eventJenkins知道正在创建的标签。(我想我已经知道了,因为它会发现它们并在UI中显示它们,除非我手动触发构建,否则它不会构建它们。)
我应该说我正在使用Jenkins-X。据我所知,这是一个詹金斯问题,与Jenkins-X无关,但我可能忽略了某些事情。
如果管道应该在创建标签时自动触发(似乎Jenkins支持该操作,但我不确定100%肯定),那么我想知道可以添加哪些其他配置来自动触发构建?
如何将整个JSON字符串传递给Helm图表值?
我在values.yml哪里config值应包含带有应用程序配置的整个JSON
...
config: some JSON here
...
Run Code Online (Sandbox Code Playgroud)
我需要将此值传递给秘密模板,然后将其作为卷安装到Kubernetes容器中。
{{- $env := default "integration" .Values.env}}
apiVersion: v1
kind: Secret
metadata:
name: {{ .Release.Name }}-{{ $env }}
type: Opaque
data:
config.json: {{ .Values.config | b64enc | quote }}
Run Code Online (Sandbox Code Playgroud)
但是,像这样传递单引号字符串的明显方法'{"redis": "localhost:6379"}'失败了,因为Helm出于某种原因删除了字符串中的所有双引号(即使我转义了双引号),因此我最终{redis: localhost:6379}得到的不是有效的JSON。
还有其他任何可能性如何一次将配置全部传递到Pod,而不用加载具有tpl功能的模板文件并使所有需要的字段分别访问values.yml吗?
我创建了一个舵图,该舵图是app.kubernetes.io/instance从这样的模板值中得出的:
labels:
app.kubernetes.io/name: {{ include "mychart.name" . }}
helm.sh/chart: {{ include "mychart.chart" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
Run Code Online (Sandbox Code Playgroud)
我不知道在哪个文件中以及如何覆盖它的值。我不想像Helm中所述如何通过命令行覆盖它,如何定义.Release.Name值
以下是要安装的 Helm 代码
helm install coreos/kube-prometheus --name kube-prometheum --namespace monitoring -f kube-prometheus.yml
Run Code Online (Sandbox Code Playgroud)
通过这种方式,我们可以使用 kube-prometheus.yml 中存在的值覆盖 value.yml 值。
有什么方法可以让我们先安装然后从 kube-prometheus.yml 文件更新 value.yml 吗?
helm upgrade releasename kube-prometheum直接改value.yml文件就可以使用了。我不想要那个
用例:最初,我在 value.yml 中使用了带有标签 1.0 的图像。现在我在 kube-prometheus.yml 中有以下代码只是为了更新图像标签
prometheusconfigReloader:
image:
tag: 2.0
Run Code Online (Sandbox Code Playgroud)
而不是删除并重新创建。我想升级它。这只是举例,可能有多个值。这就是为什么我不能使用-set。
kubernetes ×8
json ×2
apache-flink ×1
compare ×1
deployment ×1
docker ×1
gluu ×1
jenkins ×1
jenkins-x ×1
keycloak ×1
namespaces ×1
service ×1
wso2 ×1
yaml ×1