k8s入門案例
阿新 • • 發佈:2017-09-27
ice con art get install cas replicat yum 火墻 1、關閉CentOS自帶的防火墻服務:
systemctl disable firewalld
systemctl stop firewalld
2、安裝etcd和Kubernetes軟件(會自動安裝docker軟件):
yum install -y etcd kubernates
3、修改配置文件:
a、docker配置文件/etc/sysconfig/docker,其中OPTIONS的內容設置為
OPTIONS=‘--selinux-enabled=false
b、Kubernetes apiserver配置文件/etc/kubernetes/apiserver,把--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
5、下載鏡像
docker pull kubeguide/guestbook-redis-slave
docker pull kubeguide/guestbook-php-frontend
docker pull kubeguide/redis-master
6、 先定義RC來創建pod,然後定義與之關聯的service。
為redis-master服務新建一個名為redis-master-controller.yaml的RC定義文件,內容為:
apiVersion: v1
kind: ReplicationController
metadata:
name: redis-master
labels:
name: redis-master
spec:
replicas: 1
selector:
name: redis-master
template:
metadata:
labels:
name: redis-master
spec:
containers:
- name: master
image: kubeguide/redis-master
ports:
- containerPort: 6379
新建好文件之後執行如下命令:
kuberctl create -f redis-master-controller.yaml
刪除:將create換為delete即可。
查看剛剛新建的redis-master:
kuberctl get rc
檢查pod信息:
kuberctl get pods
7、下面新建與上面建的pod相關聯的service,service對應的文件redis-master-service.yaml,內容如下:
apiVersion: v1
kind: Service
metadata:
name: redis-master
labels:
name: redis-master
spec:
ports:
- port: 6379
targetPort: 6379
selector:
name: redis-master
創建service:
kubectl create -f redis-master-service.yaml
查看新建的service:
kubectl get services
8、 redis-salve Pod和服務
步驟和redis-master的一樣。
新建文件redis-salve-controller.yaml,內容如下:
apiVersion: v1
kind: ReplicationController
metadata:
name: redis-slave
labels:
name: redis-slave
spec:
replicas: 2
selector:
name: redis-slave
template:
metadata:
labels:
name: redis-slave
spec:
containers:
- name: slave
image: kubeguide/guestbook-redis-slave
env:
- name: GET_HOSTS_FROM
value: env
ports:
- containerPort: 6379
運行kubectl create命令:
kubectl create -f redis-salve-controller.yaml
查看RC:
kubectl get rc
查看pod:
kubectl get pods
9、配置文件redis-salve-service.yaml內容如下:
apiVersion: v1
kind: Service
metadata:
name: redis-slave
labels:
name: redis-slave
spec:
ports:
- port: 6379
selector:
name: redis-slave
創建service:
kubectl create -f redis-slave-service.yaml
檢查service:
kubectl get services;
10、 創建frontend Pod和服務
文件frontend-controller.yaml內容如下:
apiVersion: v1
kind: ReplicationController
metadata:
name: frontend
labels:
name: frontend
spec:
replicas: 3
selector:
name: frontend
template:
metadata:
labels:
name: frontend
spec:
containers:
- name: frontend
image: kubeguide/guestbook-php-frontend
env:
- name: GET_HOSTS_FROM
value: env
ports:
- containerPort: 80
執行命令kubectl create:
kubectl create -f frontend-controller.yaml
檢查RC:
kunectl get rc
檢查pod:
kubectl get pods
11、文件frontend-service.yaml內容如下:
apiVersion: v1
kind: Service
metadata:
name: frontend
labels:
name: frontend
spec:
type: NodePort
ports:
- port: 80
nodePort: 30001
selector:
name: frontend
創建服務:
kubectl create -f frontend-service.yaml
檢查service:
kubectl get services;
12、 訪問網站
如我的虛擬機IP為192.168.153.46
則瀏覽器訪問: 192.168.153.46:30001
k8s入門案例