kubernetes安装及启动服务

1.关闭防火墙

2.安装etcd和kubernetes

其中etcd是作为数据库的角色,以键值的方式存储数据

yum -y install etcd  kubernetes

3.安装好后,修改配置文件

a. vi /etc/sysconfig/docker

其中OPTIONS设置为如下:

OPTIONS='--selinux-enabled=false --insecure-registry gcr.io'

b.  vi /etc/kubernetes/apiserver

KUBE_ADMISSION_CONTROL参数删除ServiceAccount

4.启动

脚本形式 vi restart.sh

#!/bin/bash
ser=("etcd" "docker" "kube-apiserver" "kube-controller-manager" "kube-scheduler" "kubelet" "kube-proxy")
for i in ${ser[@]};do
  systemctl restart $i
  systemctl enable $i
  systemctl status $i

done

5.启动mysql服务

a.创建mysql-rc.yaml文件,编写要注意空格等格式

如果报错如下,就是语法有问题

[root@my210 ~]# kubectl create -f mysql-rc.yaml
error: error validating "mysql-rc.yaml": error validating data: found invalid field spec for v1.ReplicationControllerSpec; if you choose to ignore these errors, turn validation off with --validate=false

[root@my210 ~]# vi mysql-rc.yaml

apiVersion: v1
kind: ReplicationController
metadata: 
  name: mysql
spec:
  replicas: 1
  selector: 
    app: mysql
  template:
    metadata:
      labels:
        app: mysql
    spec:
      containers: 
      - name: mysql
        image: mysql
        ports:
        - containerPort: 3306
        env:
        - name: MYSQL_ROOT_PASSWORD

          value: "123456"

b.

创建好后,执行如下命令:

[root@my210 ~]# kubectl create -f mysql-rc.yaml 
replicationcontroller "mysql" created

成功!

c.查看

[root@my210 ~]# kubectl get rc
NAME           DESIRED   CURRENT   READY     AGE
mysql          1         1         0         2m

[root@my210 ~]# kubectl get pods
NAME                 READY     STATUS              RESTARTS   AGE

mysql-4s06p          0/1       ContainerCreating   0          3m

我们发现出现ContainerCreating   正常应该是running

[root@mytest yum.repos.d]# kubectl describe pod redis-master-wzqsn

发现如下报错:

Events:
  FirstSeen     LastSeen        Count   From                    SubObjectPath   Type            Reason          Message
  ---------     --------        -----   ----                    -------------   --------        ------          -------
  5m            5m              1       {default-scheduler }                    Normal          Scheduled       Successfully assigned redis-master-wzqsn to centos-minion
  5m            2m              5       {kubelet centos-minion}                 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)"


  4m    10s     19      {kubelet centos-minion}         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\""

查看/etc/docker/certs.d/registry.access.redhat.com/ 

redhat-ca.crt是个软连接,并且一直闪烁,表示并没有这个文件redhat-uep.pem

[root@mytest ~]# cd /etc/docker/certs.d/registry.access.redhat.com/

[root@mytest registry.access.redhat.com]# ll
总用量 0

lrwxrwxrwx 1 root root 27 5月  19 14:20 redhat-ca.crt -> /etc/rhsm/ca/redhat-uep.pem

第一步:

第一个报错解决方法  yum install *rhsm* -y

第二个报错执行docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest

还是不行,

因为发现

软件包 python-rhsm-certificates-1.19.10-1.el7_4.x86_64 被已安装的 subscription-manager-rhsm-certificates-1.20.11-1.el7.centos.x86_64 取代

第二步:

卸载subscription-manager-rhsm-certificates 

yum remove subscription-manager-rhsm-certificates -y

第三步:

手动下载rpm并且安装

[root@mytest ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm

[root@mytest ~]# rpm -ivh python-rhsm-certificates-1.19.10-1.el7_4.x86_64.rpm 
准备中...                          ################################# [100%]
正在升级/安装...

   1:python-rhsm-certificates-1.19.10-################################# [100%]

再次查看就有了/etc/rhsm/ca/redhat-uep.pem

第三步:

[root@mytest ~]# docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest
Trying to pull repository registry.access.redhat.com/rhel7/pod-infrastructure ... 
latest: Pulling from registry.access.redhat.com/rhel7/pod-infrastructure
26e5ed6899db: Pull complete 
66dbe984a319: Pull complete 
9138e7863e08: Pull complete 
Digest: sha256:92d43c37297da3ab187fc2b9e9ebfb243c1110d446c783ae1b989088495db931
Status: Downloaded newer image for registry.access.redhat.com/rhel7/pod-infrastructure:latest

[root@mytest ~]#

6.再次执行kubectl create -f redis-master-controller.yaml 

发现

[root@mytest yamlScript]# kubectl get pods
NAME                 READY     STATUS              RESTARTS   AGE

redis-master-6xj9k   0/1       ContainerCreating   0          6s


[root@mytest yamlScript]# kubectl describe pod redis-master-6xj9k
Name:           redis-master-6xj9k
Namespace:      default
Node:           127.0.0.1/127.0.0.1
Start Time:     Thu, 14 Jun 2018 10:30:58 +0800
Labels:         name=redis-master
Status:         Pending
IP:
Controllers:    ReplicationController/redis-master
Containers:
  master:
    Container ID:
    Image:                      kubeguide/redis-master
    Image ID:
    Port:                       6379/TCP
    State:                      Waiting
      Reason:                   ContainerCreating
    Ready:                      False
    Restart Count:              0
    Volume Mounts:              <none>
    Environment Variables:      <none>
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
  ---------     --------        -----   ----                    -------------           --------        ------                  -------
  2m            2m              1       {default-scheduler }                            Normal          Scheduled               Successfully assigned redis-master-6xj9k to 127.0.0.1
  2m            2m              1       {kubelet 127.0.0.1}                             Warning         MissingClusterDNS       kubelet does not have ClusterDNS IP configured and cannot create Pod using "ClusterFirst" policy. Falling back to DNSDefault policy.
  2m            2m              1       {kubelet 127.0.0.1}     spec.containers{master} Normal          Pulling                 pulling image "kubeguide/redis-master"
[root@mytest yamlScript]# 

还在pulling中,等一会,就好了

[root@mytest yamlScript]# kubectl get pods
NAME                 READY     STATUS    RESTARTS   AGE
redis-master-6xj9k   1/1       Running   0          52m

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值