创建部署问题时,请参考下面模板,你提供的信息越多,越容易及时获得解答。如果未按模板创建问题,管理员有权关闭问题。
确保帖子格式清晰易读,用 markdown code block 语法格式化代码块。
你只花一分钟创建的问题,不能指望别人花上半个小时给你解答。
操作系统信息
例如:虚拟机/物理机,Centos7.5/Ubuntu18.04,4C/8G
Kubernetes版本信息
将 kubectl version
命令执行结果贴在下方
kubectl version
Client Version: version.Info{Major:“1”, Minor:“20”, GitVersion:“v1.20.15”, GitCommit:“8f1e5bf0b9729a899b8df86249b56e2c74aebc55”, GitTreeState:“clean”, BuildDate:“2022-01-19T17:27:39Z”, GoVersion:“go1.15.15”, Compiler:“gc”, Platform:“linux/amd64”}
Server Version: version.Info{Major:“1”, Minor:“20”, GitVersion:“v1.20.15”, GitCommit:“8f1e5bf0b9729a899b8df86249b56e2c74aebc55”, GitTreeState:“clean”, BuildDate:“2022-01-19T17:23:01Z”, GoVersion:“go1.15.15”, Compiler:“gc”, Platform:“linux/amd64”}
容器运行时
将 docker version
/ crictl version
/ nerdctl version
结果贴在下方
docker version
Client: Docker Engine - Community
Version: 23.0.1
API version: 1.40 (downgraded from 1.42)
Go version: go1.19.5
Git commit: a5ee5b1
Built: Thu Feb 9 19:51:00 2023
OS/Arch: linux/amd64
Context: default
Server: Docker Engine - Community
Engine:
Version: 19.03.15
API version: 1.40 (minimum version 1.12)
Go version: go1.13.15
Git commit: 99e3ed8919
Built: Sat Jan 30 03:16:33 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.19
GitCommit: 1e1ea6e986c6c86565bc33d52e34b81b3e2bc71f
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.18.0
GitCommit: fec3683
KubeSphere版本信息
例如:v3.3.2。离线安装还是在线安装。在已有K8s上安装还是使用kk安装。
问题
参考**bookinfo.yaml** 文件,自定义了一个测试灰度应用,添加灰度发布时,只能按指定流量分配方式设置,不能按“指定请求参数”方式设置;




实际上,bookinfo.yaml的demo是可指定请求参数设置选项卡的;


自定义的deploy.yaml文件代码如下:
apiVersion: app.k8s.io/v1beta1
kind: Application
metadata:
name: phptestapp
namespace: app1-<DEPLOY_ENV>
labels:
app.kubernetes.io/version: v1
app.kubernetes.io/name: phptestapp
annotations:
servicemesh.kubesphere.io/enabled: 'true'
spec:
selector:
matchLabels:
app.kubernetes.io/version: v1
app.kubernetes.io/name: phptestapp
addOwnerRef: true
componentKinds:
- group: ''
kind: Service
- group: apps
kind: Deployment
- group: apps
kind: StatefulSet
- group: extensions
kind: Ingress
- group: servicemesh.kubesphere.io
kind: Strategy
- group: servicemesh.kubesphere.io
kind: ServicePolicy
---
apiVersion: apps/v1
kind: Deployment
metadata:
namespace: app1-<DEPLOY_ENV>
annotations:
kubesphere.io/isElasticReplicas: 'false'
servicemesh.kubesphere.io/enabled: 'true'
labels:
app: productpagetest
version: v1
app.kubernetes.io/version: v1
app.kubernetes.io/name: phptestapp
name: productpagetest-v1
spec:
replicas: 1
selector:
matchLabels:
app: productpagetest
version: v1
app.kubernetes.io/version: v1
app.kubernetes.io/name: phptestapp
template:
metadata:
labels:
app: productpagetest
version: v1
app.kubernetes.io/version: v1
app.kubernetes.io/name: phptestapp
annotations:
sidecar.istio.io/inject: 'true'
spec:
imagePullSecrets:
- name: harbor-secret
containers:
- name: productpagetest
resources:
requests:
cpu: 10m
memory: 10Mi
limits:
cpu: '1'
memory: 1000Mi
imagePullPolicy: IfNotPresent
#image: kubesphere/examples-bookinfo-productpage-v1:1.16.2
image: <IMAGE>:<IMAGE_TAG>
ports:
- name: phptest-web
protocol: TCP
containerPort: 80
livenessProbe:
httpGet:
path: /health.php
port: 80
scheme: HTTP
periodSeconds: 10
timeoutSeconds: 2
readinessProbe:
httpGet:
path: /health.php
port: 80
scheme: HTTP
periodSeconds: 10
timeoutSeconds: 2
serviceAccount: default
strategy:
type: RollingUpdate
rollingUpdate:
maxUnavailable: 25%
maxSurge: 25%
---
apiVersion: v1
kind: Service
metadata:
#name: phptest-svc
name: productpagetest
namespace: app1-<DEPLOY_ENV>
labels:
app: productpagetest
app.kubernetes.io/version: v1
app.kubernetes.io/name: phptestapp
annotations:
kubesphere.io/workloadType: Deployment
servicemesh.kubesphere.io/enabled: 'true'
#ownerReferences:
#- apiVersion: app.k8s.io/v1beta1
# blockOwnerDeletion: true
# controller: false
# kind: Application
# name: phptestapp
spec:
type: ClusterIP
sessionAffinity: None
selector:
app: productpagetest
app.kubernetes.io/version: v1
app.kubernetes.io/name: phptestapp
ports:
- name: phptest-web
protocol: TCP
port: 9080
targetPort: 80
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: phptest-ingress
namespace: app1-<DEPLOY_ENV>
labels:
app.kubernetes.io/version: v1
app.kubernetes.io/name: phptestapp
annotations:
kubernetes.io/ingress.class: nginx
spec:
rules:
- host: phptest-<BRANCH_NAME>.my.com
http:
paths:
- path: /
pathType: ImplementationSpecific
backend:
service:
#name: phptest-svc
name: productpagetest
port:
number: 9080
求解决方案,急,谢谢