- A+
所属分类:未分类
首先,创建mysql-rc.yaml,内容如下:
apiVersion: v1 kind: ReplicationController metadata: name: mysql5-7-v1 namespace: default labels: name: mysql5-7 version: v1 spec: replicas: 1 selector: name: mysql5-7 version: v1 template: metadata: labels: name: mysql5-7 version: v1 spec: containers: - image: mysql:5.7 name: mysql5-7-v1 ports: - containerPort: 3306 env: - name: MYSQL_ROOT_PASSWORD value: abcd123 volumeMounts: - name: mysql-storage mountPath: /var/lib/mysql volumes: - name: mysql-storage hostPath: path: /data/mysql
然后创建容器:
kubectl create -f mysql-rc.yaml
通过命令查看如下:
[root@k4152v /data/yaml]# kubectl get pods -o wide
NAME READY STATUS RESTARTS AGE IP NODE
mysql5-7-v1-rzz6j 1/1 Running 0 29m 10.244.2.6 k4614v.add.bjyt.qihoo.net
查看配置信息如下:
[root@k4152v /data/yaml]# kubectl describe pod mysql5-7-v1-rzz6j
Name: mysql5-7-v1-rzz6j
Namespace: default
Node: k4614v.add.bjyt.qihoo.net/10.209.5.35
Start Time: Mon, 09 Apr 2018 20:50:45 +0800
Labels: name=mysql5-7
version=v1
Annotations: <none>
Status: Running
IP: 10.244.2.6
Controlled By: ReplicationController/mysql5-7-v1
Containers:
mysql5-7-v1:
Container ID: docker://6fa8bbc8148c585fa6613c82444cea1751a9063c366bd820d2ba2e959a5fd230
Image: mysql:5.7
Image ID: docker-pullable://mysql@sha256:691c55aabb3c4e3b89b953dd2f022f7ea845e5443954767d321d5f5fa394e28c
Port: 3306/TCP
State: Running
Started: Mon, 09 Apr 2018 20:51:47 +0800
Ready: True
Restart Count: 0
Environment:
MYSQL_ROOT_PASSWORD: abcd123
Mounts:
/var/lib/mysql from mysql-storage (rw)
/var/run/secrets/kubernetes.io/serviceaccount from default-token-8bsjw (ro)
Conditions:
Type Status
Initialized True
Ready True
PodScheduled True
Volumes:
mysql-storage:
Type: HostPath (bare host directory volume)
Path: /data/mysql
HostPathType:
default-token-8bsjw:
Type: Secret (a volume populated by a Secret)
SecretName: default-token-8bsjw
Optional: false
QoS Class: BestEffort
Node-Selectors: <none>
Tolerations: node.kubernetes.io/not-ready:NoExecute for 300s
node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 30m default-scheduler Successfully assigned mysql5-7-v1-rzz6j to k4614v.add.bjyt.qihoo.net
Normal SuccessfulMountVolume 30m kubelet, k4614v.add.bjyt.qihoo.net MountVolume.SetUp succeeded for volume "mysql-storage"
Normal SuccessfulMountVolume 30m kubelet, k4614v.add.bjyt.qihoo.net MountVolume.SetUp succeeded for volume "default-token-8bsjw"
Normal Pulling 30m kubelet, k4614v.add.bjyt.qihoo.net pulling image "mysql:5.7"
Normal Pulled 29m kubelet, k4614v.add.bjyt.qihoo.net Successfully pulled image "mysql:5.7"
Normal Created 29m kubelet, k4614v.add.bjyt.qihoo.net Created container
Normal Started 29m kubelet, k4614v.add.bjyt.qihoo.net Started container
然后通过kubernetes管理端就可以看到,如下:
通过管理端命令端登录进去,如图:
接下来,我们配置个mysql-svc.yaml,直接指定映射到宿主机ip,这样就可以对外访问了,内容如下:
apiVersion: v1 kind: Service metadata: name: mysql5-7 namespace: default labels: name: mysql5-7 spec: externalIPs: - 10.209.5.43 ports: - port: 3306 targetPort: 3306 selector: name: mysql5-7
创建容器:
kubectl create -f mysql-svc.yaml
查看容器是否已经运行:
[root@k4152v /data/yaml]# kubectl get svc
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 10h
mysql5-7 ClusterIP 10.109.170.208 10.209.5.43 3306/TCP 29m
或者通过管理端查看,如下图:
详情如下:
然后我们测试一下,看看是否可以外连,如下:
ok了
- 安卓客户端下载
- 微信扫一扫
- 微信公众号
- 微信公众号扫一扫