記錄一次單節(jié)點部署k8s

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

![image.png](https://upload-images.jianshu.io/upload_images/13612885-1370e4a3314043ae.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

于是改變策略,先與本地建立一個私人倉庫

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容