我试图在前一阶段使用try/catch复制Jenkins管道中的条件阶段的等价物,然后设置成功变量,用于触发条件阶段.
看来try catch块是要走的路,将成功变量设置为SUCCESS或FAILED,稍后将其用作when语句的一部分(作为条件阶段的一部分).
我使用的代码如下:
pipeline {
agent any
stages {
try{
stage("Run unit tests"){
steps{
sh '''
# Run unit tests without capturing stdout or logs, generates cobetura reports
cd ./python
nosetests3 --with-xcoverage --nocapture --with-xunit --nologcapture --cover-package=application
cd ..
'''
currentBuild.result = 'SUCCESS'
}
}
} catch(Exception e) {
// Do something with the exception
currentBuild.result = 'SUCCESS'
}
stage ('Speak') {
when {
expression { currentBuild.result == 'SUCCESS' }
}
steps{
echo "Hello, CONDITIONAL"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我收到的最新语法错误如下: …
我创建了一个部署,导致2个节点中存在4个pod.
然后,我通过服务公开这些pod,从而产生以下群集IP和pod端点:
Name: s-flask
......
IP: 10.110.201.8
Port: <unset> 9080/TCP
TargetPort: 5000/TCP
NodePort: <unset> 30817/TCP
Endpoints:
192.168.251.131:5000,192.168.251.132:5000,192.168.251.134:5000 + 1 more...
Run Code Online (Sandbox Code Playgroud)
如果通过群集IP在内部访问服务,请求将在两个节点和所有pod之间平衡,而不仅仅是单个节点上的pod(例如,通过nodePort访问).
我知道kubernetes使用IP表在单个节点上平衡整个豆荚请求,但我找不到解释如何kubernetes跨多个节点天平内部服务请求的任何文件(我们不使用负载平衡器或进入内部服务的负载平衡).
群集IP本身是虚拟的,我认为这种方法可行的唯一方法是,如果群集IP是循环映射到服务端点IP地址,客户端必须查找群集IP /服务并选择端点IP ?
我刚刚按照kubeadm指南设置了一个单节点Kubernetes集群.群集本身看起来很好,所有pod都正常运行:
will@kubemaster:~$ sudo kubectl get pods --all-namespaces
NAMESPACE NAME READY STATUS RESTARTS AGE
kube-system calico-etcd-w6dkj 1/1 Running 0 16m
kube-system calico-node-mjsnr 2/2 Running 0 16m
kube-system calico-policy-controller-59fc4f7888-vc6x6 1/1 Running 0 16m
kube-system etcd-kubemaster 1/1 Running 0 16m
kube-system kube-apiserver-kubemaster 1/1 Running 1 16m
kube-system kube-controller-manager-kubemaster 1/1 Running 0 16m
kube-system kube-dns-545bc4bfd4-mbbrl 3/3 Running 0 16m
kube-system kube-proxy-wkmlj 1/1 Running 0 16m
kube-system kube-scheduler-kubemaster 1/1 Running 0 16m
kube-system kubernetes-dashboard-7f9dbb8685-rxwfw 1/1 Running 0 4m
Run Code Online (Sandbox Code Playgroud)
我使用以下方法安装了仪表板:
sudo kubectl create -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/recommended/kubernetes-dashboard.yaml
Run Code Online (Sandbox Code Playgroud)
我已经尝试通过运行"sudo …
我对 Docker 相当陌生,当我尝试通过“Dockerfile”安装包时,我注意到构建步骤通过了,但是当我连接到 docker 并加载 shell 时,实际上没有安装任何包。
配置:
FROM centos:latest
CMD yum -y install epel-release
CMD yum -y install collectd
Run Code Online (Sandbox Code Playgroud)
构建步骤:
Sending build context to Docker daemon 40.45 kB
Step 1/3 : FROM centos:latest
---> 67591570dd29
Step 2/3 : CMD yum -y install epel-release
---> Using cache
---> 4148233bce10
Step 3/3 : CMD yum -y install collectd
---> Using cache
---> 62998bf2ce0f
Run Code Online (Sandbox Code Playgroud)
当连接到 docker 时,两个包都没有安装,但我可以在 docker 中安装这些包:
[root@cassiopeia monitoringDocker]# docker exec -it 0579169abb44 bash
[root@0579169abb44 /]# yum -y install epel-release …Run Code Online (Sandbox Code Playgroud) 我看到/听到人们在谈论文字作为常量,但它们真的是常量吗?
我认为final是一个常数:
final constantNumber = 10;
Run Code Online (Sandbox Code Playgroud)
例如,在下面的文字中,我可以更改值.
int testNumber = 10;
System.out.println(testNumber);
testNumber = 20;
System.out.println(testNumber);
Run Code Online (Sandbox Code Playgroud)