如何在智能告警平台CA触发测试告警
1137
2022-10-29
Istio-在Linux上安装Docker、kubernetes以及kubernetes所需要的镜像
概述
经过几天的学习,目前已经可以通过添加几个配置文件把一个普通项目打包成docker镜像,并且使用k8s(单节点)部署,我的中期目标是使用k8s搭建高可用集群,由于公司测试环境有多台机器,方便测试集群,所以我先在公司内网机器上安装所需要的环境。
环境
本次机器的操作系统为:Red Hat Enterprise Linux (RHEL) 7。
$ cat /etc/redhat-release Red Hat Enterprise Linux Server release 7.5 (Maipo)
安装docker
包括安装、查看版本、查看配置、启动、查看状态、停止和设置为开机启动。
安装
$ yum -y install docker
机器不能访问外网,但是/etc/yum.repos.d/CentOS7-Base.repo已经配置了公司内网镜像。
查看版本
$ docker version
查看配置
$ docker info
启动
$ systemctl start docker
查看状态
$ systemctl status docker
停止
$ systemctl stop docker
开机启动
$ systemctl enable docker.service Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
安装kubernetes
需要安装kubeadm、kubelet 和 kubectl,以及设置为开机启动。
开放端口
由于安装k8s需要使用很多的端口,为了方便我先暂时关闭防火墙(生产环境建议按照k8s官方建议一个一个开启)。
$ systemctl stop firewalld
安装
在/etc/yum.repos.d/目录下创建文件kubernetes.repo:
[kubernetes] name=Kubernetes proxy=http://localhost:3128/ baseurl=http://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64 enabled=1 gpgcheck=0 repo_gpgcheck=0 gpgkey=http://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg http://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
官方给的地址是google.com,国内不好访问,公司镜像竟然也不能下载,所以这里改为阿里云镜像地址,另外由于这台机器无法访问外网阿里云,所有又加了一个代理。
禁用selinux,编辑/etc/selinux/config:
SELINUX=disabled
禁用交换分区,kubeadm的安装中有说明。编辑/etc/fstab,注释掉带有swap的那一行:
# k8s需要禁用交换分区 #/dev/mapper/rhel-swap swap swap defaults 0 0
安装:
$ yum install -y kubelet-1.16.5 kubeadm-1.16.5 kubectl-1.16.5 --disableexcludes=kubernetes
开机启动
systemctl enable --now kubelet
docker代理
初始化k8s时需要下载很多镜像,由于内网机器不能联网拉取镜像,所以给docker配置代理。
为docker服务创建插件目录:
$ mkdir -p /etc/systemd/system/docker.service.d
创建一个名为的文件/etc/systemd/system/docker.service.d/http-proxy.conf,添加HTTP_PROXY环境变量:
[Service] Environment="HTTP_PROXY=http://127.0.0.1:3128/"
同目录下,再创建一个https代理https-proxy.conf:
[Service] Environment="HTTPS_PROXY=http://127.0.0.1:3128/"
重新读取配置:
$ systemctl daemon-reload
重启docker服务:
$ systemctl restart docker
查看是否已加载配置:
$ systemctl show --property=Environment docker
安装k8s需要的镜像
使用kubeadm命令查看我们需要安装的镜像以及对于的版本:
$ kubeadm config images list k8s.gcr.io/kube-apiserver:v1.16.5 k8s.gcr.io/kube-controller-manager:v1.16.5 k8s.gcr.io/kube-scheduler:v1.16.5 k8s.gcr.io/kube-proxy:v1.16.5 k8s.gcr.io/pause:3.1 k8s.gcr.io/etcd:3.3.15-0 k8s.gcr.io/coredns:1.6.2
由于k8s.gcr.io网络不好访问,我们使用gotok8s:
# load_images.sh #!/bin/bash file="images" if [ -f "$file" ] then echo "$file found." while IFS='=' read -r key value do #echo "${key}=${value}" docker pull ${value} docker tag ${value} ${key} docker rmi ${value} done < "$file" else echo "$file not found." fi
# images k8s.gcr.io/kube-proxy:v1.16.5=gotok8s/kube-proxy:v1.16.5 k8s.gcr.io/kube-controller-manager:v1.16.5=gotok8s/kube-controller-manager:v1.16.5 k8s.gcr.io/kube-scheduler:v1.16.5=gotok8s/kube-scheduler:v1.16.5 k8s.gcr.io/kube-apiserver:v1.16.5=gotok8s/kube-apiserver:v1.16.5 k8s.gcr.io/coredns:1.6.2=gotok8s/coredns:1.6.2 k8s.gcr.io/pause:3.1=gotok8s/pause:3.1 k8s.gcr.io/etcd:3.3.15-0=gotok8s/etcd:3.3.15-0
查看k8s服务:
$ kubectl get services NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE kubernetes ClusterIP 10.96.0.1 <none> 443/TCP 5d17h
参考文档
https://docker.com/get-startedhttps://kubernetes.io/zh/docs/home/
发表评论
暂时没有评论,来抢沙发吧~