linux k8s权威踩坑指南

葫芦的运维日志

第一坑:  pod服务一直处于 ContainerCreating

open /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such file or directory

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

前两个命令会生成/etc/rhsm/ca/redhat-uep.pem文件

docker pull registry.access.redhat.com/rhel7/pod-infrastructure:latest

第二坑: 看不到demo页面,报错连接数据库失败

Error:com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.

书中代码: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"

(网上有人说需要进入docker 修改hosts自测没用)

docker ps 查出 实例id后通过下面命令进入docker实例

docker exec -ti  aff0fec8f07b  /bin/bash

解决:无法连接数据库,书籍中mysql是latest,但是当时是15-16年左右,原来jdbc驱动可用,但是现在yaml文件中没有版本号,默认依然是latest,但是现在的jdbc驱动不能连接latest版本的mysql,故进行滚动升级命令如下:

[root@k8s-master k8s]#kubectl rolling-update mysql --image=mysql:5.7

踩了俩坑之后 终于见到了 demo页面,如下:

常用重启命令

systemctl restart etcd
systemctl restart docker
systemctl restart kube-apiserver
systemctl restart kube-controller-manager
systemctl restart kube-scheduler
systemctl restart kubelet
systemctl restart kube-proxy

常用查看命令

[root@k8s-master k8s]# docker inspect --format='{{.Name}} - {{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
/k8s_mysql.ab2b1c27_mysql-b50678a13c0ae29a464ccca90f0dfce3-bvtj9_default_a106263f-7a37-11e9-bad0-5254004a32f3_c839aadd -
/k8s_POD.1d520ba5_mysql-b50678a13c0ae29a464ccca90f0dfce3-bvtj9_default_a106263f-7a37-11e9-bad0-5254004a32f3_c684a0ac - 172.17.0.5
/k8s_myweb.38f06b7_myweb-r0cjx_default_5cffdc6c-7a12-11e9-875d-5254004a32f3_5cd7f99a -
/k8s_myweb.38f06b7_myweb-9qnss_default_5cff99af-7a12-11e9-875d-5254004a32f3_98c9b9f8 -
/k8s_POD.24f70ba9_myweb-9qnss_default_5cff99af-7a12-11e9-875d-5254004a32f3_edca5273 - 172.17.0.3
/k8s_POD.24f70ba9_myweb-r0cjx_default_5cffdc6c-7a12-11e9-875d-5254004a32f3_0624f3ff - 172.17.0.2
/k8s_myweb.38f06b7_myweb-9qnss_default_5cff99af-7a12-11e9-875d-5254004a32f3_7b25125f -
/k8s_myweb.38f06b7_myweb-r0cjx_default_5cffdc6c-7a12-11e9-875d-5254004a32f3_d5085529 -
/k8s_POD.24f70ba9_myweb-r0cjx_default_5cffdc6c-7a12-11e9-875d-5254004a32f3_3df5d109 -
/k8s_POD.24f70ba9_myweb-9qnss_default_5cff99af-7a12-11e9-875d-5254004a32f3_ee595381 -

[root@k8s-master k8s]# docker ps
CONTAINER ID        IMAGE                                                        COMMAND                  CREATED             STATUS              PORTS               NAMES
9dabea691d86        mysql:5.7                                                    "docker-entrypoint..."   31 minutes ago      Up 31 minutes                           k8s_mysql.ab2b1c27_mysql-b50678a13c0ae29a464ccca90f0dfce3-bvtj9_default_a106263f-7a37-11e9-bad0-5254004a32f3_c839aadd
6a70b3f7eb2a        registry.access.redhat.com/rhel7/pod-infrastructure:latest   "/usr/bin/pod"           32 minutes ago      Up 32 minutes                           k8s_POD.1d520ba5_mysql-b50678a13c0ae29a464ccca90f0dfce3-bvtj9_default_a106263f-7a37-11e9-bad0-5254004a32f3_c684a0ac
aff0fec8f07b        kubeguide/tomcat-app:v1                                      "catalina.sh run"        47 minutes ago      Up 47 minutes                           k8s_myweb.38f06b7_myweb-r0cjx_default_5cffdc6c-7a12-11e9-875d-5254004a32f3_5cd7f99a
bb8ee8e6df5b        kubeguide/tomcat-app:v1                                      "catalina.sh run"        47 minutes ago      Up 47 minutes                           k8s_myweb.38f06b7_myweb-9qnss_default_5cff99af-7a12-11e9-875d-5254004a32f3_98c9b9f8
a71789435e34        registry.access.redhat.com/rhel7/pod-infrastructure:latest   "/usr/bin/pod"           47 minutes ago      Up 47 minutes                           k8s_POD.24f70ba9_myweb-9qnss_default_5cff99af-7a12-11e9-875d-5254004a32f3_edca5273
3ff82f627a84        registry.access.redhat.com/rhel7/pod-infrastructure:latest   "/usr/bin/pod"           47 minutes ago      Up 47 minutes                           k8s_POD.24f70ba9_myweb-r0cjx_default_5cffdc6c-7a12-11e9-875d-5254004a32f3_0624f3ff
[root@k8s-master k8s]# kubectl get rc
NAME      DESIRED   CURRENT   READY     AGE
mysql     1         1         1         30m
myweb     2         2         2         4h
[root@k8s-master k8s]# kubectl get pods
NAME                                           READY     STATUS    RESTARTS   AGE
mysql-b50678a13c0ae29a464ccca90f0dfce3-bvtj9   1/1       Running   0          31m
myweb-9qnss                                    1/1       Running   5          4h
myweb-r0cjx                                    1/1       Running   5          4h
[root@k8s-master k8s]# kubectl get services
NAME         CLUSTER-IP      EXTERNAL-IP   PORT(S)          AGE
kubernetes   10.254.0.1      <none>        443/TCP          10h
mysql        10.254.163.9    <none>        3306/TCP         5h
myweb        10.254.135.39   <nodes>       8080:30001/TCP   4h
[root@k8s-master k8s]#

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

编辑于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java架构沉思录

MySQL之Explain详解

一条查询语句在经过MySQL查询优化器的各种基于成本和规则的优化会后生成一个所谓的执行计划,这个执行计划展示了接下来具体执行查询的方式,比如多表连接的顺序是什么...

8520
来自专栏Java架构筑基

对于MySQL你必须要了解的锁知识

MySQL 的锁按照范围可以分为全局锁、表锁、行锁,其中行锁是由数据库引擎实现的,并不是所有的引擎都提供行锁,MyISAM 就不支持行锁,所以文章介绍行锁会以I...

14320
来自专栏zhisheng

自增主键用完了该咋办?

这个问题是一个粉丝给我提的,我觉得挺有意(KENG)思(B)! 于是,今天我们就来谈一谈,这个自增主键用完了该怎么办!

22010
来自专栏Java架构沉思录

高级程序员 VS 普通程序员,差距到底在哪?

MySQL作为最流行的关系型数据库管理系统,重要性不言而喻。面试时它也是重点考察对象,估计大家都有过不少被MySQL相关问题支配的经历......

11410
来自专栏Java架构沉思录

MySql 三大知识点——索引、锁、事务

索引的优点:1. 天生排序。2. 快速查找。 索引的缺点:1. 占用空间。2. 降低更新表的速度。

9940
来自专栏Java架构沉思录

数据库索引原理及优化

本文以MySQL数据库为研究对象,讨论与数据库索引相关的一些话题。特别需要说明的是,MySQL支持诸多存储引擎,而各种存储引擎对索引的支持也各不相同,因此MyS...

14920
来自专栏架构说

详解Mysql分布式事务XA(跨数据库事务)

在开发中,为了降低单点压力,通常会根据业务情况进行分表分库,将表分布在不同的库中(库可能分布在不同的机器上)。在这种场景下,事务的提交会变得相对复杂,因为多个节...

24420
来自专栏zhisheng

漫谈数据质量监控

本篇分享一些和数据质量监控相关的内容。数据质量监控是一个在快速发展的业务中最容易被牺牲和忽略的功能,但是它确实至关重要的。

35320
来自专栏牛客网

非科班渣渣的java校招

链接:https://www.nowcoder.com/discuss/154825?type=2&order=3&pos=16&page=1

31840
来自专栏zhisheng

《从0到1学习Flink》—— Flink 读取 Kafka 数据批量写入到 MySQL

之前其实在 《从0到1学习Flink》—— 如何自定义 Data Sink ? 文章中其实已经写了点将数据写入到 MySQL,但是一些配置化的东西当时是写死的,...

29830

扫码关注云+社区

领取腾讯云代金券

年度创作总结 领取年终奖励