• 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

  • 相关阅读:
    MaxScale智能读写
    flask简单demo
    django简单demo
    git原生私服之git&gitweb
    gerrit 解决中文乱码相关配置(转载)
    gerrit集成gitweb:Error injecting constructor, java.io.IOException: Permission denied
    gerrit: Error in POST /accounts/self/preferences
    redmine 配置邮件发送为async后,不能发送邮件(转载)
    gerrit error: unpack failed: error Permission denied
    centos修改hostname以及时间同步
  • 原文地址:https://www.cnblogs.com/zhangeamon/p/5498191.html
Copyright © 2020-2023  润新知