省略k8s與docker的安裝過程
主要碰到問題如下:
使用k8拉去本地鏡像的時候發(fā)現(xiàn)拉不下來報錯

于是改變策略,先與本地建立一個私人倉庫
docker pull registry
mkdir -p /opt/data/registry //創(chuàng)建目錄
sudo docker run -d -p 5000:5000 -v /opt/data/registry:/var/lib/registry --name private_registry registry //啟動容器
sudo service docker restart //重啟容器
sudo docker start private_registry //重啟registry服務
sudo docker tag mytest:latest 192.168.147.129:5000/mytest(mytest為我打包的一個http服務)
sudo docker push 192.168.147.129:5000/mytest(此處可能報錯需要設(shè)置/etc/docker/daemon.json)
設(shè)置如下:
{
"registry-mirrors": ["https://njrds9qc.mirror.aliyuncs.com"],
"insecure-registries":["XX.XX.XX.XX:5000"]
}
設(shè)置完重新push即可
k8s部署yaml文件:
apiVersion: v1
kind: ReplicationController
metadata:
name: mytest
spec:
replicas: 1
selector:
app: mytest
template:
metadata:
labels:
app: mytest
spec:
containers:
- name: mytest
image: xx,xx,xx,xx:5000/mytest
imagePullPolicy: IfNotPresent
ports:
- containerPort: 8550
然后創(chuàng)建此pod
kubectl create -f demo-rc.yaml
但這樣外包還是無法訪問該pod,需要在創(chuàng)建一個serivies
yaml文件如下:
apiVersion: v1
kind: Service
metadata:
name: mytest
spec:
type: NodePort
ports:
- port: 8550
targetPort: 8550
nodePort: 30001
selector:
app: mytest
kubectl create -f demo-svc.yaml