前提:系統沒有安裝過docker,否則需要卸載掉。系統要能聯網
一。安裝
1.yum update # 更新yum
2.關閉cetos自帶的防火牆
systemctl disable firewalld
systemctl stop firewalld
3.安裝etcd和kubernetes軟件
yum install -y etcd kubernetes
4.啓動所有服務
4.1 systemctl start etcd
4.2 systemctl start docker
如果失敗,請執行:cat /etc/sysconfig/docker
OPTIONS='--selinux-enabled=false --log-driver=journald --signature-verification=false --registry-mirror=https://fzhifedh.mirror.aliyuncs.com --insecure-registry=registry.sese.com' #修改這裏的"--selinux-enabled" ,改成"--selinux-enabled=false"
4.3 systemctl start kube-apiserver
4.4 systemctl start kube-controller-manager
4.5 systemctl start kube-scheduler
4.6 systemctl start kubelet
4.7 systemctl start kube-proxy
二。創建 rc的yaml文件
vi mysql-rc.yaml
具體內容:
apiVersion: v1
kind: ReplicationController # RC
metadata:
name: mysql
spec:
replicas: 1
selector:
app: mysql
template:
metadata:
labels:
app: mysql
spec:
containers:
- name: mysql
image: mysql
ports:
- containerPort: 3306
env:
- name: MYSQL_PORT_PASSWORD
value: "123456"
2.創建rc
進入yaml文件存放路徑,執行下列命令:
kubectl create -f mysql-rc.yaml
3.查看rc是否創建成功:
kubectl get pods
4.查看pods是否創建成功
kubectl get pods
如果提示not found source,則修改vim /etc/kubernetes/apiservice 文件
找到這一行 "KUBE_ADMISSION_CONTROL="--admission_control=NamespaceLifecycle,NamespaceExists,LimitRanger,SecurityConte
(刪除一個Service開頭的)
然後重啓
systemctl restart etcd docker kube-apiserver kube-controller-manager kube-scheduler kubelet kube-proxy
嘗試重新創建 rc
kubectl delete -f mysql.yaml
kubectl create -f mysql.yaml
kubectl create -f mysql-rc.yaml
5.查看是否創建容器鏡像
docker ps |grep mysql
三。創建service
1.創建svc的yaml文件
vi mysql-svc.yaml
apiVersion: v1
kind: Service # is service
metadata:
name: mysql # global id
spec:
ports:
- port: 3306
selector: # service port
app: mysql #pod label
2.創建service
kubectl create -f mysql-svc.yaml
3.查看service是否創建成功
kubectl get svc
NAME CLUSTER-IP EXTERNAL-IP PORT(S) AGE
kubernetes 10.254.0.1 <none> 443/TCP 23h
mysql 10.254.248.100 <none> 3306/TCP 15s
創建成功