https://blog.youkuaiyun.com/watermelonbig/article/details/79341644
以下实验均是使用CentOS7.4 Minimual版本系统完成。用vagrant建立虚拟机
1、关闭系统防火墙
systemctl disable firewalld
systemctl stop firewalld
2、安装etcd和Kubernetes软件
yum -y install etcd kubernetes
3、按顺序启动所有的服务
systemctl start etcd && systemctl start docker && systemctl start kube-apiserver && systemctl start kube-controller-manager && systemctl start kube-scheduler && systemctl start kubelet && systemctl start kube-proxy
一个单机版的kubernete就安装完成了。
systemctl restart etcd && systemctl restart docker && systemctl restartkube-apiserver && systemctl restart kube-controller-manager && systemctl restart kube-scheduler && systemctl restartkubelet && systemctl restart kube-proxy
systemctl start etcd docker kube-apiserver kube-controller-manager kube-scheduler kubelet kube-proxy
4、创建和启动一个MySQL服务
(1)定义一个RC文件:mysql-rc.yaml
apiVersion: v1
kind: ReplicationController #类型为副本控制器RC
metadata:
name: mysql #RC的名称,全局唯一
spec:
replicas: 1 #POD副本期待数量kubectl get rc
selector:
app: mysql #符合目标的Pod拥有此标签
template: #根据此模板创建Pod的副本
metadata:
labels:
app: mysql #Pod副本拥有的标签,对应RC的Selector
spec:
containers: #Pod内容器的定义部分
- name: mysql #容器的名称
image: mysql #容器对应的Docker Image
ports:
- containerPort: 3306 #容器应用监听的端口号
env: #注入容器内的环境变量
- name: MYSQL_ROOT_PASSWORD
value: "123456"
在Master节点执行创建命令:
# kubectl create -f mysql-rc.yaml
replicationcontroller "mysql" created
查看刚刚创建的RC:
# kubectl get rc
NAME DESIRED CURRENT READY AGE
mysql 1 0 0 26s
查看Pod的创建情况:
# kubectl get pods
NAME READY STATUS RESTARTS AGE