1、關閉防火牆firewalld
2、安裝etcd和kubernetes
yum install -y etcd kubernetes(會自動安裝docker)
3、修改配置檔案
修改docker配置文docker
修改為options='--selinux-enabled=false --insecure-registry gcr.io'
修改kubernetes配置檔案
vi /etc/kubernetes/apiserver
kube_admission_control引數中刪除serviceaccount
4、按順序啟動服務
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
檢查狀態
systemctl status etcd
systemctl status docker
systemctl status kube-apiserver
systemctl status kube-controller-manager
systemctl status kube-scheduler
systemctl status kubelet
systemctl status kube-proxy
乙個單機版本的kuberneted就搭建完畢了
1、為mysql服務建立乙個rc定義檔案:mysql-rc.yaml。rc(replication controller)定義檔案中有3個關鍵資訊:
[root@router ljy]# more mysql-rc.yaml2、建立好mysql-rc.yaml後,在master節點使用kubectl命令將它發布到k8s集群中。apiversion: v1
kind: replicationcontroller #副本控制器rc
metadata:
name: mysql #rc的名稱,全域性唯一
spec:
replicas: 1 #pod副本的期待數量
selector:
template: #根據此模板建立pod的副本(例項)
metadata:
labels:
spec:
containers: #pod內容器的定義部分
- name: mysql #容器的名稱
image: hub.c.163.com/library/mysql #容器對應的docker image
ports:
- containerport: 3306 #容器應用監聽的埠號
env: #注入容器內的環境變數
- name: mysql_root_password
value: "123456"
kubectl create -f mysql-rc.yaml使用kubectl命令檢視剛剛建立的rc:
使用下面命令檢視pod的建立情況:
3、建立關聯service
我們建立乙個與之關聯的kubernetes service-mysql的定義檔案:mysql-svc.yaml
apiversion: v1執行kubectl命令,建立servicekind: service #表明是k8s service
metadata:
name: mysql #service的全域性唯一名稱
spec:
ports:
- port: 3306 #service提供服務的埠號
selector: #service對應的pod擁有這裡定義的標籤
複製**
kubectl create -f mysql-svc.yaml檢視剛剛建立的service
kubectl get svc注意到mysql服務被分配到了乙個值為10.254.46.214的cluster ip位址,這是乙個虛位址,隨後,k8s集群中其他新建立的pod就可以通過service的cluster ip+埠號3306來連線和訪問它了
1、先拉取乙個映象
2、建立對應的rc檔案myweb-rc.yaml,內容如下
apiversion: v1然後通過kubectl create命令完成rc的建立和驗證工作:kind: replicationcontroller
metadata:
name: myweb
spec:
replicas: 5 #pod副本期待數量為5
selector:
template:
metadata:
labels:
spec:
containers:
- name: myweb
ports:
- containerport: 8080
env:
- name: mysql_service_host
value: "mysql"
- name: mysql_service_port
value: "3306"
在rc中宣告了5個pod期待的數量,現在都已經建立並執行起來了
3、建立對應的service
建立對應的service,以下是完整的yaml定義檔案(myweb-svc.yaml)
apiversion: v1type=nodeport和nodeport=30001的兩個屬性,表明此service開啟了nodeport方式的外網訪問模式。kind: service
metadata:
name: myweb
spec:
type: nodeport
ports:
- port: 8080
nodeport: 30001
selector:
執行kubectl create命令進行建立:
kubectl create -f myweb-svc.yaml檢視一下
kubectl get services
k8s入門知識介紹01
k8s中文社群 1四組基本概念 pod pod控制器 name namespace lable label選擇器 service ingress 1.1 pod和pod控制器 kubernetes 的pod控制器 podk8s裡能夠被執行的最小邏輯單元 1個pod裡面可以執行多個容器 sidecar...
k8s入門簡介
1.docker的三種編排工具 docker的第一類編排工具 a.docker compose docker原生 只能對乙個主機上的容器進行編排,無法編排多個主機上的容器 b.docker swarm docker原生 可以對多個主機上的容器進行編排 c.docker machine docker原...
入門了解K8S
1 k8s,就是基於容器的集群管理平台,它的全稱,是kubernetes。kubernetes 是什麼?kubernetes 這個詞 於希臘語,有主管 舵手 船長的意思,我們從中能聽到一絲管理的意味,從圖示中也能看出來。乙個k8s系統,通常稱為乙個k8s集群 cluster 這個集群主要包括兩個部分...