diff --git "a/docs/16.\347\224\250 kubeadm \346\220\255\345\273\272\351\233\206\347\276\244\347\216\257\345\242\203.md" "b/docs/16.\347\224\250 kubeadm \346\220\255\345\273\272\351\233\206\347\276\244\347\216\257\345\242\203.md" index 57853619c909d94e94b29e21bffacc8712d85eef..78a59036a49cd16dffd2b261b7e298d61402cbab 100644 --- "a/docs/16.\347\224\250 kubeadm \346\220\255\345\273\272\351\233\206\347\276\244\347\216\257\345\242\203.md" +++ "b/docs/16.\347\224\250 kubeadm \346\220\255\345\273\272\351\233\206\347\276\244\347\216\257\345\242\203.md" @@ -138,7 +138,7 @@ EOF ```shell $ yum makecache fast $ yum install -y kubelet-1.10.0-0 -$ yum install -y kubectl-1.10.0-0 +$ yum install -y kubectl-1.10.0-0 $ yum install -y kubeadm-1.10.0-0 ``` diff --git a/docs/36.Jenkins Slave.md b/docs/36.Jenkins Slave.md index 22ad379b3ce471e0dc444241ebcb29f6376617a8..2403030505d727a4392124a8d2710cd889ff271c 100644 --- a/docs/36.Jenkins Slave.md +++ b/docs/36.Jenkins Slave.md @@ -301,8 +301,12 @@ Jenkins 安装完成了,接下来我们不用急着就去使用,我们要了 第3步. 配置 Pod Template,其实就是配置 Jenkins Slave 运行的 Pod 模板,命名空间我们同样是用 kube-ops,Labels 这里也非常重要,对于后面执行 Job 的时候需要用到该值,然后我们这里使用的是 cnych/jenkins:jnlp 这个镜像,这个镜像是在官方的 jnlp 镜像基础上定制的,加入了 kubectl 等一些实用的工具。 ![kubernetes plugin config2](./images/jenkins-k8s-config2.png) -另外需要注意我们这里需要在下面挂载两个主机目录,一个是 /var/run/docker.sock,该文件是用于 Pod 中的容器能够共享宿主机的 Docker,这就是大家说的 docker in docker 的方式,Docker 二进制文件我们已经打包到上面的镜像中了,另外一个目录下 /root/.kube 目录,我们将这个目录挂载到容器的 /home/jenkins/.kube 目录下面这是为了让我们能够在 Pod 的容器中能够使用 kubectl 工具来访问我们的 Kubernetes 集群,方便我们后面在 Slave Pod 部署 Kubernetes 应用。 -![kubernetes plugin config3](./images/jenkins-k8s-config3.png) +> 注意:由于新版本的 Kubernetes 插件变化较多,如果你使用的 Jenkins 版本在 2.176.x 版本以上,注意将上面的镜像替换成`cnych/jenkins:jnlp6`,否则使用会报错,配置如下图所示: + +![kubernetes slave image config](https://bxdc-static.oss-cn-beijing.aliyuncs.com/images/jenkins-slave-new.png) + +另外需要注意我们这里需要在下面挂载两个主机目录,一个是`/var/run/docker.sock`,该文件是用于 Pod 中的容器能够共享宿主机的 Docker,这就是大家说的 docker in docker 的方式,Docker 二进制文件我们已经打包到上面的镜像中了,另外一个目录下`/root/.kube`目录,我们将这个目录挂载到容器的`/root/.kube`目录下面这是为了让我们能够在 Pod 的容器中能够使用 kubectl 工具来访问我们的 Kubernetes 集群,方便我们后面在 Slave Pod 部署 Kubernetes 应用。 +![kubernetes plugin config3](https://bxdc-static.oss-cn-beijing.aliyuncs.com/images/jenkins-slave-volume.png) 另外还有几个参数需要注意,如下图中的**Time in minutes to retain slave when idle**,这个参数表示的意思是当处于空闲状态的时候保留 Slave Pod 多长时间,这个参数最好我们保存默认就行了,如果你设置过大的话,Job 任务执行完成后,对应的 Slave Pod 就不会立即被销毁删除。 diff --git a/docs/41.ingress config.md b/docs/41.ingress config.md index d913942dcfa817b0829f71d228a1f4f9d32c348f..6dae952770e32eec87d256611fb1b7e8c3f14a92 100644 --- a/docs/41.ingress config.md +++ b/docs/41.ingress config.md @@ -263,7 +263,7 @@ spec: 注意我们这里定义的 ingress 对象和之前有一个不同的地方是我们增加了 path 路径的定义,不指定的话默认是 '/',创建该 ingress 对象: ```shell -$ kubectl create -f test-ingress.yaml +$ kubectl create -f example-ingress.yaml ingress.extensions "example-web-app" created $ kubectl get ingress NAME HOSTS ADDRESS PORTS AGE @@ -313,7 +313,6 @@ spec: ``` - --- [点击查看本文视频](https://youdianzhishi.com/course/6n8xd6/) diff --git a/status.yaml b/status.yaml deleted file mode 100644 index bb8efa68a10981469c04d7b89ad4b9b56f78ccaf..0000000000000000000000000000000000000000 --- a/status.yaml +++ /dev/null @@ -1,67 +0,0 @@ -apiVersion: v1 -kind: Pod -metadata: - annotations: - kubernetes.io/config.hash: 4a93efc59bf8ea557fc9466a2d8be4b9 - kubernetes.io/config.mirror: 4a93efc59bf8ea557fc9466a2d8be4b9 - kubernetes.io/config.seen: 2018-05-23T04:49:22.749711053+08:00 - kubernetes.io/config.source: file - creationTimestamp: 2018-05-22T20:49:22Z - labels: - app: static - name: static-pod2-master - namespace: default - resourceVersion: "636406" - selfLink: /api/v1/namespaces/default/pods/static-pod2-master - uid: 9b48be7d-5e01-11e8-a101-525400db4df7 -spec: - containers: - - image: nginx - imagePullPolicy: Always - name: web - ports: - - containerPort: 80 - name: webport - protocol: TCP - resources: {} - terminationMessagePath: /dev/termination-log - terminationMessagePolicy: File - dnsPolicy: ClusterFirst - nodeName: master - restartPolicy: Always - schedulerName: default-scheduler - securityContext: {} - terminationGracePeriodSeconds: 30 - tolerations: - - effect: NoExecute - operator: Exists -status: - conditions: - - lastProbeTime: null - lastTransitionTime: 2018-05-22T20:49:22Z - status: "True" - type: Initialized - - lastProbeTime: null - lastTransitionTime: 2018-05-22T21:03:49Z - status: "True" - type: Ready - - lastProbeTime: null - lastTransitionTime: 2018-05-22T20:49:22Z - status: "True" - type: PodScheduled - containerStatuses: - - containerID: docker://83006318709f6d1f63c9a1c783b3d174aacc1ea2c4029c4cc4af3e51fa07c967 - image: nginx:latest - imageID: docker-pullable://nginx@sha256:0fb320e2a1b1620b4905facb3447e3d84ad36da0b2c8aa8fe3a5a81d1187b884 - lastState: {} - name: web - ready: true - restartCount: 0 - state: - running: - startedAt: 2018-05-22T21:03:48Z - hostIP: 10.151.30.57 - phase: Running - podIP: 10.244.0.4 - qosClass: BestEffort - startTime: 2018-05-22T20:49:22Z \ No newline at end of file