kubernetes & docker 单机安装

本文详细介绍了如何在单机环境中安装Docker和Kubernetes。首先,按照步骤逐一安装Docker,然后在安装过程中可能遇到问题A。接着,进行Kubernetes的部署,测试安装效果时也会碰到一些挑战。通过这篇指南,读者可以全面了解单机环境下Docker和Kubernetes的安装流程。
摘要由CSDN通过智能技术生成

安装docker

第一步

yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
systemctl start docker
docker run hello-world

第二步

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://xxxxhsese.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

安装kubernetes

第一步

a.关闭centos自带防火墙
# systemctl disable firewalld
# systemctl stop firewalld 
b.安装etcd和kubernetes
yum install -y etcd kubernetes
c.修改配置文件
1)Docker配置文件/etc/sysconfig/docker
内容改为如下 OPTIONS=’–selinux-enabled=false --insecure-registry gcr.io’
2)Kubernetes apiservce配置文件/etc/kubernetes/apiserver
去掉–admission-control中的ServiceAccount

systemctl start etcd.service
systemctl start docker
systemctl start kube-apiserver.service
systemctl start kube-controller-manager.service
systemctl start kube-scheduler.service
systemctl start kubelet.service
systemctl start kube-proxy.service 
mkdir /data

第一步遇到的问题

问题A
Centos7.6上yum安装kubernetes报错:
Error: docker-ce-cli conflicts with 2:docker-1.13.1-91.git07f3374.el7.centos.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest
原因:yum安装kubernetes之前已经安装过docker,导致出现上面报错;
按照提供执行 rpm -Va --nofiles --nodigest 命令并没有作用,还是避免不了冲突;
解决方法:
卸载
1、查询安装过的包
yum list installed | grep docker
containerd.io.x86_64 1.2.4-3.1.el7 @docker-ce-edge
docker-ce-cli.x86_64 1:18.09.3-3.el7 @docker-ce-edge
2、删除安装的软件包
yum -y remove docker-ce-cli.x86_64
yum -y remove containerd.io.x86_64
3、删除镜像/容器等
rm -rf /var/lib/docker
rm -rf /var/run/docker
安装
yum install -y etcd kubernetes
完美解决问题!

第二步 测试安装情况

vim 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"
kubectl create -f mysql-rc.yaml
kubectl get rc
NAME      DESIRED   CURRENT   READY     AGE
mysql     1         1         0         12m
vim Mysql-svc.yaml

apiVersion: v1
kind: Service
metadata:
  name: mysql1
spec:
  type: NodePort
  ports:
    - port: 3307
      nodePort: 32307
      targetPort: 3306
  selector:
    app: mysql
kubectl create -f mysql-svc.yaml

kubectl get pods

NAME          READY     STATUS              RESTARTS   AGE
mysql-zqgck   0/1       ContainerCreating   0          13m

kubectl describe pod mysql 
第二步遇到的问题
open /etc/docker/certs.d/registry.access.redhat.com/redhat-ca.crt: no such file or directory
vi /etc/kubernetes/kubelet 
修改 KUBELET_POD_INFRA_CONTAINER="--pod-infra-container-image=10.30.30.126:5000/pod-infrastructure:latest"

docker search pod-infrastructure
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值