Kubernetes 1.10.0 安装
安装环境
本环境为公司正式环境,基于Aliyun VPC 一台Master 两台Node . NAT为跳板机
机器 | IP | 说明 |
---|---|---|
VPC1-NAT | 10.0.255.8 | VPC跳板机 没什么用 |
VPC2-Master | 10.0.255.9 | 主节点 ETCD DOCKER FLANNEL kube-apiserver kube-controller-manager kube-scheduler kube-proxy |
VPC3-Node | 10.0.255.10 | 计算节点 ETCD DOCKER FLANNEL kube-proxy kubelet |
VPC4-Node | 10.0.255.11 | 计算节点 ETCD DOCKER FLANNEL kube-proxy kubelet |
前期准备
在 vpc1-nat 机器上获取安装包:
wget http://xxxx/soft/k8s_v1.10.0_install.zip #公司内部使用
百度网盘下载地址:
链接: https://pan.baidu.com/s/1TqsHlUXFd_brguyf6JzjiQ 密码: 8e3x
将压缩包分发到所有节点上 :
scp -P 11022 k8s_v1.10.0_install.zip USERNAME@IP:PATH
所有节点上安装解压缩工具包:
yum install -y unzip
所有节点上解压缩安装包:
unzpi k8s_v1.10.0_install.zip
给安装包添加执行权限:
chmod +x -R k8s_v1.10.0_install
配置主节点(vpc2) HOST:
vi /etc/hosts
安装ETCD集群
ETCD集群: vpc2,vpc3,vpc4, 对应的IP为 10.0.255.9,10.0.255.10,10.0.255.11, 安装脚本为 k8s_v1.10.0_install/etcd/install_etcd.sh , 需要指定etcd每个节点的名字以及集群的IP列表.
vpc2上安装命令如下:
./install_etcd.sh etcd01 etcd01=http://10.0.255.9:2380,etcd02=http://10.0.255.10:2380,etcd03=http://10.0.255.11:2380
vpc3上安装命令如下:
./install_etcd.sh etcd02 etcd01=http://10.0.255.9:2380,etcd02=http://10.0.255.10:2380,etcd03=http://10.0.255.11:2380
vpc4上安装命令如下:
./install_etcd.sh etcd03 etcd01=http://10.0.255.9:2380,etcd02=http://10.0.255.10:2380,etcd03=http://10.0.255.11:2380
至此,ETCD集群安装完毕.
Flannel安装
Flannel必须安装在所有节点上, 安装脚本为 k8s_v1.10.0_install/flannel/install_flannel.sh ,所需参数为ETCD集群IP列表,本集群IP列表为 http://10.0.255.9:2379,http://10.0.255.10:2379,http://10.0.255.11:2379
安装命令:
./install_flannel.sh http://10.0.255.9:2379,http://10.0.255.10:2379,http://10.0.255.11:2379
Docker安装
Docker必须安装在所有节点上,安装脚本为 k8s_v1.10.0_install/docker/docer.sh
安装命令:
./docker.sh
Kubernetes Master 节点安装
目前集群只支持单一的Master节点,Master节点安装在 vpc2节点上,IP为 10.0.255.9 , 安装脚本为 k8s_v1.10.0_install/kubernetes/master/install_k8s_master.sh ,所需参数为 MASTER_ADDRESS 和 ETCD_SERVERS, 其中 MASTER_ADDRESS 为主节点的IP,也就是本机的IP, ETCD_SERVERS为ETCD集群的IP列表.
安装命令:
./install_k8s_master.sh 10.0.255.9 http://10.0.255.9:2379,http://10.0.255.10:2379,http://10.0.255.11:2379
初始化K8S私有仓库(目前用的阿里云的私有镜像仓库)密钥:
./install_docker_registry_secret.sh
Kubernetes Minion 节点安装
除了主节点之外的所有K8S计算节点都需要安装,安装脚本为 k8s_v1.10.0_install/kubernetes/node/install_k8s_node.sh,所需参数为 主节点的IP地址.
安装命令:
./install_k8s_node.sh 10.0.255.9
Kubernetes Addons安装
在Master节点(vpc2)上安装.
Addons为Kubernetes插件,目前包含 DNS(service-name解析),dashboard(集群监控),influxdb(监控).文件路径为: k8s_v1.10.0_install/kubernetes/addons .
将文件夹移动到K8S安装路径:
cp -rf addons /usr/local/kubernetes
安装DNS:
kubectl create -f /usr/local/kubernetes/addons/kube-dns/
安装dashboard:
kubectl create -f /usr/local/kubernetes/addons/dashboard/
安装influxdb: (目前没调通)
Kubernetes 常用命令
Master节点上操作
检查Kubernetes集群健康:
kubectl get cs
查看Kubernetes集群节点:
kubectl get nodes
查看Kubernetes namespace 列表:
kubectl get namespace
查看某个namespace下的 Pod列表:
kubectl --namespace=ihuaben-production get pods -o wide
查看某个namespace下的Service列表:
kubectl --namespace=ihuaben-production get svc -o wide
查看某个namespace下指定Pod的日志信息:
kubectl --namespace=ihuaben-production logs ihuaben-nginx-all-87db87794-522vx
查看某个namespace下指定Pod的描述信息:
kubectl --namespace=ihuaben-production describe pod ihuaben-nginx-all-87db87794-522vx
查看某个namespace下的所有事件(支持 | grep xxx ):
kubectl --namespace=ihuaben-production get events | grep tomcat-user