• kubernetes 留言版DEMO


    kubernates hello world
    1 关闭防火墙

    $systemctl disable firewalld
    $systemctl stop firewalld

    2 安装etcd 和 kubernates

    $yum install -y etcd kubernates

    3 修改配置

    docker /etc/sysconfig/docker
    OPTIONS='--registry-mirror=http://06ec3c30.m.daocloud.io --selinux-enabled=false --insecure-registry gcr.io'
    kubernetes apiserver /etc/kubernates/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

    单机版k8s 搭建完成

    Hello word 留言板系统
    依赖三个镜像:
    docker.io/kubeguide/guestbook-php-frontend WEB前端
    docker.io/kubeguide/redis-master 写留言
    docker.io/kubeguide/guestbook-redis-slave 读取留言

    1 创建master pod 和服务
    编写 redis-master-controller.yaml

    apiVersion: v1
    kind: ReplicationController
    metadata:
      name: redis-master
      labels:
        name: redis-master
    spec:
      replicas: 2
      selector:
        name: redis-master
      template:
        metadata:
          labels:
            name: redis-master
        spec:
          containers:
          - name: master
            image: kubeguide/redis-master
            ports:
            - containerPort: 6379

    发布到k8s集群

    $kubectl create -f redis-master-controller.yaml

    查看 

    $kubectl get rc
    CONTROLLER CONTAINER(S) IMAGE(S) SELECTOR REPLICAS AGE
    redis-master master kubeguide/redis-master name=redis-master 1 21d
    $kubectl get po
    NAME READY STATUS RESTARTS AGE
    redis-master-69j7a 1/1 Running 7 20d

    创建与之对应的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
    $kubectl create -f redis-master-service.yaml
    $kubectl get svc
    NAME CLUSTER_IP EXTERNAL_IP PORT(S) SELECTOR AGE
    redis-master 10.254.38.83 <none> 6379/TCP name=redis-master 20d

    2 创建redis-salve Pod 和服务

    编写 redis-slave-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

    发布到k8s集群

    $kubectl create -f redis-slave-controller.yaml
    $kubectl get rc
    $kubectl get pod

    创建 与之对应的service 

    编写 redis-slave-service.yaml

    apiVersion: v1
    kind: Service
    metadata:
      name: redis-slave
      labels:
        name: redis-slave
    spec:
      ports:
      - port: 6379
      selector:
        name: redis-slave
    $kubectl create -f redis-slave-service.yaml
    
    $kubectl get svc

    3 创建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

    发布到k8s集群

    $kubectl create -f frontend-controller.yaml
    $kubectl get rc
    $kubectl get pod

    创建与之对应的service

    编写 frontend-service.yaml

    apiVersion: v1
    kind: Service
    metadata:
      name: frontend
      labels:
        name: fronted
    spec:
      type: NodePort
      ports:
      - port: 80
        nodePort: 30001
      selector:
        name: frontend

    创建服务

    $kubectl create -f frontend-service.yaml

    查看

    $kubectl get svc

    4 通过浏览器访问
    localhost:30001

    备注 k8s需要容器 gcr.io/google_containers/pause

  • 相关阅读:
    聊聊HTTP gzip压缩与常见的Android网络框架
    Material适配2
    Material适配1
    将Eclipse代码导入到AndroidStudio的两种方式
    Android批量打包提速
    放弃WebView,使用Crosswalk做富文本编辑器
    Android MP3录音实现
    OkHttp2.0有Bug,暂时不推荐在产品中使用
    Java XML SAX 解析注意
    Evernote Markdown Sublime使用介绍
  • 原文地址:https://www.cnblogs.com/zhangeamon/p/5498191.html
Copyright © 2020-2023  润新知