新装的 linux 7.4上的单机安装 kubernates
初始的命令顺序
yum update -y
yum install -y etcd kubernetes
更改配置文件
vim /etc/sysconfig/docker
OPTIONS='--selinux-enabled=false --insecure-registry gcr.io --registry-mirror=https://registry.docker-cn.com'
注意: 这里的–registry-mirror 这是docker的国内镜像,这与单独的docker不同,单独安装docker的镜像地址更改在
vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
然后:
sudo systemctl daemon-reload
sudo systemctl restart docker
vim /etc/kubernetes/apiserver 在 –admission_control参数中 去掉 ServiceAccount
很重要的安装 yum install -y *rhsm*
启动
systemctl start etcd
systemctl start kube-apiserver
systemctl start kube-controller-manager
systemctl start kube-scheduler
systemctl start kubelet
systemctl start kube-proxy
systemctl start docker
创建应用,之间没有 docker pull 类似的命令,主要安装rc和svc,来源自<< kubernetes权威指南 第二版>>
新建一个文件夹,存放这些东西吧
vim mysql-rc.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21apiVersion: 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"vim mysql-svc.yaml
1 | apiVersion: v1 |
vim myweb-rc.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18apiVersion: v1
kind: ReplicationController
metadata:
name: myweb
spec:
replicas: 2
selector:
app: myweb
template:
metadata:
labels:
app: myweb
spec:
containers:
- name: myweb
image: kubeguide/tomcat-app:v1
ports:
- containerPort: 8080vim myweb-svc.yaml
1
2
3
4
5
6
7
8
9
10
11apiVersion: v1
kind: Service
metadata:
name: myweb
spec:
type: NodePort
ports:
- port: 8080
nodePort: 30001
selector:
app: myweb
命令
- kubectl create -f ./
将该文件夹下的所有都创建,或者逐个创建 kubectl create -f xxx.yaml
- kubectl get pods
检查状态,这个因为要远程下载镜像,所有要等一会,但是也不会太久,大概10分钟,就能看到
STATUS
这一列由creating
变成了running
这样就可以了.
- kubectl get rc
查看所有 rc
- kubectl get svc
查看所有 service
- kubectl describe pod pod_name
查看一个pod的状态
- kubectl delete -f xxx.yaml 或者 kubectl delete pods pod_name
如果发现问题需要重新装的时候,需要先删除开启的服务器
- kubectl delete pods –all
删除所有
测试
curl http://localhost:30001/demo/index.jsp
应该能看到一串html,构成的一个表格.
我是逐个开启的,在最后 kubectl create -f myweb-svc.yaml
之后,我的1核1G的阿里服务器已经很慢了,随便一个命令都要等待一下.
调节web容器的数量,这段抄的没测试,因为我的服务器已经卡死了,再也没起来…
察看所有rc
kubectl get rc
调节myweb的数量
kubectl scale rc myweb --replicas=5
察看结果
kubectl get pod -o wide
myweb的数量从2变成了5