• kubernetes学习第一篇-k8s安装以及HelloWorld


    安装

    1. 关闭防火墙服务

    # systemctl disable firewalld
    # systemctl stop firewalld  

    2. 安装etcd以及kubernetes软件

    yum install -y etcd kubernetes

    3. 修改Docker配置为

    vim /etc/sysconfig/docker
    OPTIONS='--selinux-enabled=false --insecure-registry grc.io --log-driver=journald --signature-verification=false'
    

    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 kubelet
    systemctl start kube-proxy
    

    5. 检查是否启动成功

    HelloWorld

    1. 编写一个配置文件mysql-rc.yaml

    apiVersion: v1
    #副本控制器
    kind: ReplicationController
    metadata:
      name: mysql
    spec:
      # 实例的数量
      replicas: 1
      selector:
        # Pod名称
        app: mysql
      template:
        metadata:
          # Pod副本名称对应selector
          labels:
            app: mysql
        spec:
          containers:    # Pod内容定义部分
          - name: mysql  # 容器的名称
            image: mysql # 容器的镜像
            ports:
            - containerPort: 3306 ## 暴露端口
            env: ##注入到容器内的环境变量
            - name: MYSQL_ROOT_PASSWORD
              value: "123456"
    

    2. 启动

    kubectl create -f mysql-rc.yaml
    

    3. 查看状态

    # kubectl get rc
    NAME      DESIRED   CURRENT   READY     AGE
    mysql     1         1         1         14m
    

    Pod状态

    # kubectl get pods
    NAME          READY     STATUS    RESTARTS   AGE
    mysql-w3t8z   1/1       Running   0          14m
    

    4. 问题解决

    1. 启动后发现 Pod状态一直都是ContainerCreating

      1. 使用kubectl describe po mysql查看状态

      2. 如果出现如下错误

    kubectl describe po  mysql-bwnlk
    Name:       mysql-bwnlk
    Namespace:  default
    Node:       127.0.0.1/127.0.0.1
    Start Time: Thu, 04 Jan 2018 10:20:45 +0800
    Labels:     app=mysql
    Status:     Pending
    IP:     
    Controllers:    ReplicationController/mysql
    Containers:
      mysql:
        Container ID:   
        Image:      daocloud.io/library/mysql
        Image ID:       
        Port:       3306/TCP
        State:      Waiting
          Reason:       ContainerCreating
        Ready:      False
        Restart Count:  0
        Volume Mounts:  <none>
        Environment Variables:
          MYSQL_ROOT_PASSWORD:  123456
    Conditions:
      Type      Status
      Initialized   True 
      Ready     False 
      PodScheduled  True 
    No volumes.
    QoS Class:  BestEffort
    Tolerations:    <none>
    Events:
      FirstSeen LastSeen    Count   From            SubObjectPath   Type        Reason      Message
      --------- --------    -----   ----            -------------   --------    ------      -------
      3m        3m      1   {default-scheduler }        Normal      Scheduled   Successfully assigned mysql-bwnlk to 127.0.0.1
      3m        20s     5   {kubelet 127.0.0.1}     Warning     FailedSync  Error syncing pod, skipping: failed to "StartContainer" for "POD" with ErrImagePull: "image pull failed for registry.access.redhat.com/rhel7/pod-infrastructure:latest, this may be because there are no credentials on this request.  details: (open /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such file or directory)"
    
      2m    8s  10  {kubelet 127.0.0.1}     Warning FailedSync  Error syncing pod, skipping: failed to "StartContainer" for "POD" with ImagePullBackOff: "Back-off pulling image "registry.access.redhat.com/rhel7/pod-infrastructure:latest""
    

      解决:

    yum install *rhsm*
    

      安装服务

    #wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm
    #rpm2cpio python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm | cpio -iv --to-stdout ./etc/rhsm/ca/redhat-uep.pem | tee /etc/rhsm/ca/redhat-uep.pem
    

      删除原先的服务

    kubectl delete -f mysql-rc.yaml
    kubectl create -f mysql-rc.yaml
    

      

    问题2:docker下载pull失败问题

    1. 安装阿里镜像加速即可解决https://cr.console.aliyun.com/cn-hangzhou/mirrors

  • 相关阅读:
    MySQL-基础知识整理
    设计模式-适配器模式
    MySQL
    MySQL-5.7 填坑
    MySQL
    Oracle
    SQL 注入
    Apache JMeter
    AppScan
    DNS 搜索
  • 原文地址:https://www.cnblogs.com/lonecloud/p/10390788.html
Copyright © 2020-2023  润新知