软件版本
系统版本:CentOS Linux release 7.6.1810 (Core)
软件版本:Docker-ce-18.06.0、Kubectl-1.15.0、Kubernetes-v1.15.0
硬件要求:建议最低2核4GB
配置系统环境
关闭防火墙和SeLinux
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selinux
关闭SWAP交换分区
swap:
1. 临时关闭 swapoff -a
2. 永久禁用 注释掉/etc/fstab文件中“/dev/mapper/centos-swap”这一行:
3. 重新加载:
sysctl --system
安装Docker
配置Docker-YUM源
Docker-YUM源由阿里巴巴开源镜像网提供。
yum -y install epel-release.noarch yum-utils
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
打开文件/usr/lib/systemd/system/docker.service,如下图,将红框中的systemd改为cgroupfs:
安装依赖
yum -y install device-mapper-persistent-data lvm2
安装Docker
systemctl start docker
systemctl enable docker
systemctl status docker
配置Docker使用国内镜像源
cat <<EOF > /etc/docker/daemon.json
{
"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
EOF
重启Docker服务
systemctl restart docker
systemctl status docker
安装Kubectl
配置Kubernetes-YUM源
Kubernetes-YUM由阿里巴巴开源镜像网提供。
cat <<EOF > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
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
EOF
安装Kubectl
yum -y install kubectl-1.15.0
安装Minikube
Minikube安装包由阿里云提供。
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
使用Minikube创建一个Kubernetes单点集群
minikube start --vm-driver=none --kubernetes-version v1.15.0
# “--vm-driver=none”表示使用Linux本机作为运行环境。
# “--kubernetes-version”表示指定Kubernetes的版本。
# 备用
minikube start --registry-mirror=https://registry.docker-cn.com --kubernetes-version v1.15.0
查看Kubernetes集群运行情况
minikube status
开启dashboard
minikube dashboard
kubectl proxy --port=8001 --address=`192.168.56.111` --accept-hosts=`^.*` &
http://192.168.56.111:8001/api/v1/namespaces/kubernetes-dashboard/services/http:kubernetes-dashboard:/proxy/#/workloads?namespace=default
部署mysql
- kubectl apply -f 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: hub.c.163.com/library/mysql
ports:
- containerPort: 3306
env:
- name: MYSQL_ROOT_PASSWORD
value: "123456"
- kubectl apply -f mysql-svc.yaml
apiVersion: v1
kind: Service
metadata:
name: mysql
spec:
ports:
- port: 3306
selector:
app: mysql
type: NodePort
安装k8s一把过参考
踩坑记录
minikube start --vm-driver=none --registry-mirror=https://registry.docker-cn.com --kubernetes-version v1.15.0
会出现这样的报错:
Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
换成国内镜像地址:
minikube start --vm-driver=none --image-repository=registry.cn-hangzhou.aliyuncs.com/google_containers --kubernetes-version v1.15.0
遇到 The connection to the server 10.0.2.15:8443 was refused - did you specify the right host or port?
/root/.kube/config 换成127.0.0.1 即可