centos下docker和k8s实验环境搭建

1、centos下安装docker

如果有centos服务器,则可以在linux下安装docker,具体操作如下:

(1)下载程序:wget https://download.docker.com/linux/static/stable/x86_64/docker-18.06.3-ce.tgz

(2)解压:tar -zxvf docker-18.06.3-ce.tgz 

         cp docker/* /usr/bin/

(3) touch /etc/systemd/system/docker.service

         vi /etc/systemd/system/docker.service

[Unit]

Description=Docker Application Container Engine

Documentation=https://docs.docker.com

After=network-online.target firewalld.service

Wants=network-online.target

    

[Service]

Type=notify

# the default is not to use systemd for cgroups because the delegate issues still

# exists and systemd currently does not support the cgroup feature set required

# for containers run by docker

ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock

ExecReload=/bin/kill -s HUP $MAINPID

# Having non-zero Limit*s causes performance problems due to accounting overhead

# in the kernel. We recommend using cgroups to do container-local accounting.

LimitNOFILE=infinity

LimitNPROC=infinity

LimitCORE=infinity

# Uncomment TasksMax if your systemd version supports it.

# Only systemd 226 and above support this version.

#TasksMax=infinity

TimeoutStartSec=0

# set delegate yes so that systemd does not reset the cgroups of docker containers

Delegate=yes

# kill only the docker process, not all processes in the cgroup

KillMode=process

# restart the docker process if it exits prematurely

Restart=on-failure

StartLimitBurst=3

StartLimitInterval=60s

    

[Install]

WantedBy=multi-user.target

 

 

 

(4) 授权并生效 

          chmod +x /etc/systemd/system/docker.service

         systemctl daemon-reload

(5) 启动

         

# 启动docker

systemctl start docker

# 设置开机启动

systemctl enable docker

# 查看docker状态

systemctl status docker

# 查看docker版本

docker -v

Docker version 18.06.3-ce, build d7080c1

 

2、使用Minikube创建本地Kubernetes实验环境

(1) 配置源

echo '#k8s

[kubernetes]

name=Kubernetes

baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64

enabled=1

gpgcheck=0

'>/etc/yum.repos.d/kubernetes.repo

 

(2)安装kubectl:yum -y install kubelet kubeadm kubectl kubernetes-cni

(3)下载: curl -Lo minikube https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64

          授权:chmod +x minikube

(4)添加: sudo install minikube /usr/local/bin

(5)启动: minikube start --vm-driver=none minikube start --vm-driver=none --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers

 

如果失败多试几次,失败后执行minikube delete再重试。

(6)验证:

minikube status

minikube

type: Control Plane

host: Running

kubelet: Running

apiserver: Running

kubeconfig: Configured

timeToStop: Nonexistent

[root@wcz usr]# kubectl get node -o wide

NAME   STATUS   ROLES                  AGE   VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                KERNEL-VERSION               CONTAINER-RUNTIME

wcz    Ready    control-plane,master   52s   v1.20.2   172.26.185.15   <none>        CentOS Linux 7 (Core)   3.10.0-514.26.2.el7.x86_64   docker://18.6.3

[root@wcz usr]#

查看组件列表:minikube addons list

(7)安装dashboard:

执行:minikube dashboard --url

报错如下:

* Verifying dashboard health ...

* Launching proxy ...

* Verifying proxy health ...

X Exiting due to SVC_URL_TIMEOUT: http://127.0.0.1:45163/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/ is not accessible: Temporary Error: unexpected response code: 503

 

开始进行问题排查:

查看pods: kubectl get pods --all-namespaces

 

NAMESPACE              NAME                                       READY   STATUS             RESTARTS   AGE

kube-system            coredns-54d67798b7-zjb2p                   0/1     Running            0          12h

kube-system            etcd-wcz                                   1/1     Running            0          12h

kube-system            kube-apiserver-wcz                         1/1     Running            0          12h

kube-system            kube-controller-manager-wcz                1/1     Running            0          12h

kube-system            kube-proxy-hc95p                           1/1     Running            0          12h

kube-system            kube-scheduler-wcz                         1/1     Running            0          12h

kube-system            kubernetes-dashboard-6ff6454fdc-dskft      0/1     CrashLoopBackOff   4          2m44s

kube-system            storage-provisioner                        1/1     Running            0          12h

kubernetes-dashboard   dashboard-metrics-scraper-c85578d8-tzlx5   1/1     Running            0          85m

kubernetes-dashboard   kubernetes-dashboard-7db476d994-wv54h      0/1     CrashLoopBackOff   21         85m

 

 

docker pull  mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1

docker tag mirrorgooglecontainers/kubernetes-dashboard-amd64:v1.10.1 k8s.gcr.io/kubernetes-dashboard-amd64:v1.10.1

kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v1.10.1/src/deploy/recommended/kubernetes-dashboard.yaml

 

查看日志:

kubectl logs -f pods/kubernetes-dashboard-6ff6454fdc-dskft -n kube-system

2021/03/01 02:50:54 Starting overwatch

2021/03/01 02:50:54 Using in-cluster config to connect to apiserver

2021/03/01 02:50:54 Using service account token for csrf signing

2021/03/01 02:50:55 Error while initializing connection to Kubernetes apiserver. This most likely means that the cluster is misconfigured (e.g., it has invalid apiserver certificates or service account's configuration) or the --apiserver-host param points to a server that does not exist. Reason: Get https://10.96.0.1:443/version: dial tcp 10.96.0.1:443: connect: no route to host

Refer to our FAQ and wiki pages for more information: https://github.com/kubernetes/dashboard/wiki/FAQ

 

 

尝试重启网络的ip规则:问题解决

systemctl stop kubelet

systemctl stop docker

iptables --flush

iptables -tnat --flush

systemctl start kubelet

systemctl start docker

 

此时查看所有的pod,可以看到已经全部正常启动。

kubectl get pods --all-namespaces

NAMESPACE              NAME                                       READY   STATUS    RESTARTS   AGE

kube-system            coredns-54d67798b7-zjb2p                   1/1     Running   1          14h

kube-system            etcd-wcz                                   1/1     Running   1          14h

kube-system            kube-apiserver-wcz                         1/1     Running   1          14h

kube-system            kube-controller-manager-wcz                1/1     Running   1          14h

kube-system            kube-proxy-hc95p                           1/1     Running   1          14h

kube-system            kube-scheduler-wcz                         1/1     Running   1          14h

kube-system            storage-provisioner                        1/1     Running   2          14h

kubernetes-dashboard   dashboard-metrics-scraper-c85578d8-tzlx5   1/1     Running   1          3h38m

kubernetes-dashboard   kubernetes-dashboard-7db476d994-wv54h      1/1     Running   30         3h38m

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值