0

我正在编写一个简单的 YAML 文件以使用 Centos.6 上的 TCP 端口应用活性探测

  1. 我从公共存储库中提取了一个 centos:6 图像
  2. 使用图像启动了一个容器。
  3. 安装mysql,并启动它来验证一个打开的端口(3306)
  4. 作为“mysql-test:v0.1”提交到本地存储库

并如下应用一个吊舱

apiVersion: v1
kind: Pod
metadata:
  labels:
    test: mysql-test
  name: mysql-test-exec
spec:
  containers:
  - name: mysql-test
    args:
    - /sbin/service
    - mysqld
    - start
    image: mysql-test:v0.1
    livenessProbe:
      tcpSocket:
        port: 3306
      initialDelaySeconds: 15
      periodSeconds: 20

但是,pod 的状态是CrashLoopBackOff,而 work02 上的容器的状态是Exited

1) 主节点

root@kubeadm-master01:~# kubectl get pods 
NAME              READY     STATUS             RESTARTS   AGE
mysql-test-exec   0/1       CrashLoopBackOff   6          8m

root@kubeadm-master01:~# kubectl describe pod mysql-test-exec
.
.
.
Events:
  FirstSeen     LastSeen        Count   From                    SubObjectPath                   Type            Reason          Message
  ---------     --------        -----   ----                    -------------                   --------        ------          -------
  1m            1m              1       default-scheduler                                       Normal          Scheduled       Successfully assigned mysql-test-exec to kubeadm-work02
  1m            1m              1       kubelet, kubeadm-work02 spec.containers{mysql-test}     Normal          Created         Created container with id abbad6585021151cd86fdfb3a9f733245f603686c90f533f23
44397c97c36918
  1m            1m              1       kubelet, kubeadm-work02 spec.containers{mysql-test}     Normal          Started         Started container with id abbad6585021151cd86fdfb3a9f733245f603686c90f533f23
44397c97c36918
  1m            1m              1       kubelet, kubeadm-work02 spec.containers{mysql-test}     Normal          Started         Started container with id a1062083089eed109fe8f41344136631bb9d4c08a2c6454dc7
7f677f01a48666
  1m            1m              1       kubelet, kubeadm-work02 spec.containers{mysql-test}     Normal          Created         Created container with id a1062083089eed109fe8f41344136631bb9d4c08a2c6454dc7
7f677f01a48666
  1m            1m              3       kubelet, kubeadm-work02                                 Warning         FailedSync      Error syncing pod, skipping: failed to "StartContainer" for "mysql-test" wit
h CrashLoopBackOff: "Back-off 10s restarting failed container=mysql-test pod=mysql-test-exec_default(810c37bd-7a8c-11e7-9224-525400603584)"

  1m    1m      1       kubelet, kubeadm-work02 spec.containers{mysql-test}     Normal  Created         Created container with id 79512aeaf8a6b4692e11b344adb24763343bb2a06c9003222097962822d42202
  1m    1m      1       kubelet, kubeadm-work02 spec.containers{mysql-test}     Normal  Started         Started container with id 79512aeaf8a6b4692e11b344adb24763343bb2a06c9003222097962822d42202
  1m    43s     3       kubelet, kubeadm-work02                                 Warning FailedSync      Error syncing pod, skipping: failed to "StartContainer" for "mysql-test" with CrashLoopBackOff: "Bac
k-off 20s restarting failed container=mysql-test pod=mysql-test-exec_default(810c37bd-7a8c-11e7-9224-525400603584)"

  29s   29s     1       kubelet, kubeadm-work02 spec.containers{mysql-test}     Normal  Started         Started container with id 4427a3b8e5320b284ac764c1152def4ba749e4f656b3c464a472514bccf2e30e
  1m    29s     4       kubelet, kubeadm-work02 spec.containers{mysql-test}     Normal  Pulled          Container image "centos-mysql:v0.1" already present on machine
  29s   29s     1       kubelet, kubeadm-work02 spec.containers{mysql-test}     Normal  Created         Created container with id 4427a3b8e5320b284ac764c1152def4ba749e4f656b3c464a472514bccf2e30e
  1m    10s     9       kubelet, kubeadm-work02 spec.containers{mysql-test}     Warning BackOff         Back-off restarting failed container
  27s   10s     3       kubelet, kubeadm-work02                                 Warning FailedSync      Error syncing pod, skipping: failed to "StartContainer" for "mysql-test" with CrashLoopBackOff: "Bac
k-off 40s restarting failed container=mysql-test pod=mysql-test-exec_default(810c37bd-7a8c-11e7-9224-525400603584)"

2)工作节点

root@kubeadm-work02:~# docker logs f64e20bf33a8
Starting mysqld:  [  OK  ]
4

1 回答 1

0

我必须删除 args 才能使用 docker 映像。下面的部署对我有用。

apiVersion: v1
kind: Pod
metadata:
  labels:
    test: mysql-test
  name: mysql-test-exec
spec:
  containers:
  - name: mysql-test   
    image: mysql:5.6
    env:
      - name: MYSQL_ROOT_PASSWORD
        value:  mysql456
    livenessProbe:
      tcpSocket:
        port: 3306
      initialDelaySeconds: 15
      periodSeconds: 20
于 2017-08-06T15:03:02.520 回答