k8s体验
k8s初體驗
- Kubernetes安裝
- 鏡像加速
- 啟動k8s及docker
- Demo
- 1. 創建pod
- 2. 創建service
- 3. 使用NodePort使得service也能被外網訪問
Kubernetes安裝
安裝環境:vmware中安裝的虛擬機,系統為centos7
在centos中安裝Kubernetes比較簡單,一條命令即可:
注意: 安裝完之后,還需修改配置,否則后期出現:創建rc與pod的時候會出現pod無法創建但是rc能創建問題,解決方式為:
vim /etc/kubernetes/apiserver 具體為刪除/etc/kubernetes/apiserver配置中,KUBE_ADMISSION_CONTROL 中的 ServiceAccount字段(若已啟動k8s,則重啟kube-apiserver)鏡像加速
加速鏈接可參考阿里云鏡像加速節點(免費)
修改docker配置文件: vim /etc/docker/daemon.json 配置如下: {"registry-mirrors": ["https://***.aliyuncs.com"]}啟動k8s及docker
systemctl start etcd systemctl start kube-apiserver systemctl start kube-controller-manager systemctl start kube-scheduler systemctl start kubelet systemctl start kube-proxy systemctl start dockerDemo
在k8s中,有pod和service的概念,簡單理解的話:pod為容器運行實例,而pod的運行ip重新發布時會更改,而service用來解決這個問題,service的ip不會更改,通過service的ip來訪問pod應用。
1. 創建pod
(1)創建文件, Httpd-Deployment.yaml
apiVersion: apps/v1beta1 kind: Deployment metadata:name: httpd spec:replicas: 4template:metadata:labels:run: httpdspec:containers:- name: httpdimage: httpdports:- containerPort: 80(2)執行命令,用于創建pod:
kubectl apply -f Httpd-Deployment.yaml(3)查詢pod
kubectl get pod -o wide curl 172.17.0.3:802. 創建service
(1) 創建文件, Httpd-Service.yaml
apiVersion: v1 kind: Service metadata:name: httpd-svc spec:selector:run: httpdports:- protocol: TCPport: 8080targetPort: 80(2)執行命令,創建service
kubectl apply -f Httpd-Service.yaml(3)查詢狀態
kubectl get svc curl 10.254.177.95:80803. 使用NodePort使得service也能被外網訪問
(1)修改之前的Httpd-Service.yaml,修改后如下:
apiVersion: v1 kind: Service metadata:name: httpd-svc spec:type: NodePortselector:run: httpdports:- protocol: TCPnodePort: 31688port: 8080targetPort: 80(2)執行
kubectl apply -f Httpd-Service.yaml(3)查詢
kubectl get svc curl 127.0.0.1:31688
通過外網訪問http://127.0.0.1:31688,即實現外網訪問service
總結
- 上一篇: Springcloud gateway获
- 下一篇: import导入工程时出现error:D