自动化程序员

手把手教你构建 Kubernetes 1.8 + Flannel

2018-01-05  本文已影响235人  51reboot

关于 Kubernetes 1.8 + Flannel 的分享今天就完成了,需要完整资料和代码(包括所需的包)的看文章底部的领取方式。

六.Docker-registry web 私有仓库构建

环境说明:
我们选取 master 192.168.0.221 做私有仓库地址 ( docker-ce 的安装这里不再描述)
使用到的镜像:

docker-registry-web.tar.gz      #镜像仓库web展示
registry-v2.6.2.tar.gz           #镜像仓库容器
docker-registry-web-conf.tar.gz  #创建镜像仓库yaml配置文件

1.查看 docker 版本,配置 hosts 文件

[root@node1 ~]# vi /etc/hosts
192.168.0.221 registry-srv
192.168.0.221 registry-web

2.导入镜像

[root@node1 ~]# docker load -i  docker-registry-web.tar.gz
[root@node1 ~]# docker load -i  registry-v2.6.2.tar.gz

3.创建容器

[root@node1 ~]# tar -zxvf docker-registry-web-conf.tar.gz

1)启动 registry:

# docker run -v /root/docker-registry-web/conf/registry-srv.yml:/etc/docker/registry/config.yml:ro -v /root/docker-registry-web/conf/auth.cert:/etc/docker/registry/auth.cert:ro -v /data:/var/lib/registry/ -p 5000:5000 --restart=always --name registry-srv -d registry:2.6.2

2)启动 registry-web

# docker run -d -v /root/docker-registry-web/conf/registry-web.yml:/conf/config.yml:ro -v /root/docker-registry-web/conf/auth.key:/conf/auth.key -v /root/docker-registry-web/db:/data -it -p 8081:8080 --link registry-srv --restart=always --name registry-web hyper/docker-registry-web

4.WEB 访问修改 admin 用户权限
http://192.168.0.221:8081/login/auth 账号 admin 密码 admin

点击, “admin” 用户名,添加上删除和写的权限
5.配置本机使用私有仓库

[root@node1 ~]# echo   '{ "insecure-registries":["registry-srv:5000"] }' >/etc/docker/daemon.json 
[root@node1 ~]# systemctl  restart docker        #重启docker
[root@node1 ~]# docker start  $(docker ps -a -q)   #启动容器

**6.上传镜像到 docker registry **

[root@node1 ~]# docker login registry-srv:5000 -u'admin' -p'admin'    #登录私有仓库[root@node1 ~]# docker tag 177391bcf802  registry-srv:5000/registry:2.6.2
[root@node1 ~]# docker push  registry-srv:5000/registry:2.6.2

7. kubernetes 配置 secret 拉取私仓镜像

#创建证书
[root@node1 ~]#  kubectl create secret docker-registry regsecret --docker-server=registry-srv:5000 --docker-username=admin --docker-password=admin --docker-email=admin@example.com
[root@node1 ~]# cat k8s/yaml/busybox.yaml 
apiVersion: v1
kind: Pod
metadata:
  name: busybox
  namespace: default
spec:
  containers:
  - image: registry-srv:5000/busybox:latest
    command:
      - ping  
      - "114.114.114.114"
    imagePullPolicy: IfNotPresent
    name: busybox
  restartPolicy: Always  imagePullSecrets:
  - name: regsecret(红色字体即是,配置镜像拉取,使用该证书)
[root@node1 ~]# kubectl create -f  k8s/yaml/busybox.yaml      #创建容器

七.Kubernetes Nginx Ingress 安装与使用

用过 kubernetes 的人都知道,kubernetes 的 service 的网络类型有三种:

[root@node1 ingress]# kubectl  create -f default-http-backend.yaml 
[root@node1 ingress]#  kubectl expose rc default-http-backend --port=80 --target-port=8080  --namespace=kube-system                #重要:为默认实例创建svc

2.ingress-controller 创建

[root@node1 ingress]#  vi    ingress-controller.yaml
value: http://192.168.0.221:8080              #这里是master API地址
                                         #镜像地址建议创建本地容器仓库
[root@node1 ingress]# kubectl  create -f ingress-controller.yaml

3.本实验通过 nginx 容器,这里通过 ingress 做入口访问 svc

[root@node1 ingress]# kubectl create -f  ../k8s/nginx-deployment.yaml   #创建nginx容器
apiVersion: apps/v1beta2
kind: Deployment
metadata:
  name: nginx-deployment 
spec:
  replicas: 3 
  selector:
    matchLabels: 
      app: nginx
  template:
    metadata:
      labels: 
        app: nginx
    spec:
     containers:
     - name: nginx
       image: 192.168.0.221:5000/nginx:v1
       ports:
       - containerPort: 80

[root@node1 ingress]# kubectl create -f  ../k8s/nginx-service.yaml 
apiVersion: v1
kind: Service 
metadata:
  name: nginx-service 
  labels:
    app: nginx 
spec:
  ports:
  - port: 88
    targetPort: 80
  selector: 
    app: nginx
[root@node1 ingress]# kubectl create -f  ingress-nginx.yaml 
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: nginxservice
spec:
  rules:
  - host: test.info
    http:
      paths:
      - path: /
        backend:
          serviceName: nginx-service
          servicePort: 80

本机写 host 文件进行访问,外部写 host 文件,指向 node ip 即可


已全部分享完毕。
扫码加小助手微信,备注“领取资料”来自简书即可获得完整资料
上一篇 下一篇

猜你喜欢

热点阅读