kubernetes权威指南读书笔记(1)--搭建基础服务、Pod并访问

本文介绍了在Linux系统中关闭Systemd防火墙,安装etcd和Kubernetes遇到的问题及解决办法,包括权限问题和证书错误。通过新建RC启动MySQL Pod,并解决Pods未自动生成的问题。接着创建Service,采用NodePort方式实现外网访问。最后,展示了由于DNS问题导致的数据库连接错误,并提示可能的解决方案。
摘要由CSDN通过智能技术生成

走过路过不要错过,随手点赞手有余香。



  1. 关闭防火墙
systemctl status firewalld
systemctl disable firewalld
systemctl stop firewalld

Systemctl是一个systemd工具,主要负责控制systemd系统和服务管理器.

Systemd是一个系统管理守护进程、工具和库的集合,用于取代System V初始进程。Systemd的功能是用于集中管理和配置类UNIX系统。

在Linux生态系统中,Systemd被部署到了大多数的标准Linux发行版中,只有为数不多的几个发行版尚未部署。Systemd通常是所有其它守护进程的父进程,但并非总是如此。

https://linux.cn/article-5926-1.html

  1. 安装etcd和kubernetes
yum install etcd kubernetes

etcd是一个开源的、分布式的键值对数据存储系统,提供共享配置、服务的注册和发现。

问题:
安装报错

Transaction check error:
file /usr/bin/kubectl from install of kubernetes-client-1.5.2-0.7.git269f928.el7.x86_64 conflicts with file from package kubectl-1.1
file /usr/bin/kubelet from install of kubernetes-node-1.5.2-0.7.git269f928.el7.x86_64 conflicts with file from package kubelet-1.10.

原因:与已经安装的冲突

解决方案:写在本地的冲突项目 yum remove

  1. 启动服务
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
  1. 新建rc来启动pod(mysql)
kubectl create -f mysql-rc.yaml
#rc模板 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"

问题:
Kubernetes新建RC成功时但Pods没有自动生成的解决方法

原因:权限问题

解决办法:编辑/etc/kubernetes/apiserver 去除 KUBE_ADMISSION_CONTROL 中的 SecurityContextDeny,ServiceAccount &#

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值