-bash-4.2# hostname
servera.pod0.example.com
-bash-4.2# curl -O http://cla***oom.example.com/materials/docker-images/webserver.tar.xz
-bash-4.2# curl -O http://cla***oom.example.com/materials/docker-images/db.tar.xz
-bash-4.2# docker load -i webserver.tar.xz
-bash-4.2# docker load -i db.tar.xz
-bash-4.2# docker images
REPOSITORY TAG IMAGE>
rhel7 webserver 94dd54abd5e8 2.752324 years ago 411.5 MB
rhel7 db 561488c47869 2.752326 years ago 572.1 MB
-bash-4.2# hostname
serverc.pod0.example.com
-bash-4.2# vi /etc/kubernetes/controller-manager
KUBELET_ADDRESSES="--machines=servera.pod0.example.com"
-bash-4.2# vi /etc/kubernetes/config
#KUBE_ETCD_SERVERS="--etcd_servers=http://127.0.0.1:4001"
KUBE_MASTER="--master=http://serverc.pod0.example.com:8080"
-bash-4.2# vi /etc/kubernetes/apiserver
KUBE_API_ADDRESS="--address=0.0.0.0"
#KUBE_MASTER="--master=127.0.0.1:8080"
KUBE_SERVICE_ADDRESSES="--portal_net=192.168.100.0/24"
KUBE_ETCD_SERVERS="--etcd_servers=http://serverc.pod0.example.com:4001"
-bash-4.2# for SERVICE in etcd kube-apiserver kube-controller-manager kube-scheduler
do
systemctl restart ${SERVICE}
systemctl enable ${SERVICE}
systemctl status ${SERVICE}
done
-bash-4.2# curl -s -L http://serverc.pod0.example.com:4001/version
-bash-4.2# curl -s -L http://serverc.pod0.example.com:8080/version | python -mjson.tool
-bash-4.2# curl -s -L http://serverc.pod0.example.com:8080/api/v1beta1/minions
-bash-4.2# hostname
servera.pod0.example.com
-bash-4.2# vi /etc/kubernetes/config
#KUBE_ETCD_SERVERS="--etcd_servers=http://127.0.0.1:4001"
KUBE_MASTER="--master=http://serverc.pod0.example.com:8080"
-bash-4.2# vi /etc/kubernetes/kubelet
KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_HOSTNAME="--hostname_override=servera.pod0.example.com"
KUBELET_ARGS="--auth_path=/var/lib/kubelet/auth"
KUBE_ETCD_SERVERS="--api_servers=http://serverc.pod0.example.com:8080"
-bash-4.2# vi /etc/kubernetes/proxy
KUBE_PROXY_ARGS="--master=http://serverc.pod0.example.com:8080"
-bash-4.2# echo "{}" > /var/lib/kubelet/auth
-bash-4.2# for SERVICE in docker kube-proxy kubelet
do
systemctl restart ${SERVICE}
systemctl enable ${SERVICE}
systemctl status ${SERVICE}
done
-bash-4.2# hostname
serverc.pod0.example.com
-bash-4.2# kubectl get minions
-bash-4.2# curl http://servera.pod0.example.com:10250/healthz
-bash-4.2# hostname
serverc.pod0.example.com
-bash-4.2# curl -O http://cla***oom.example.com/materials/templates/webserver-service.yaml
-bash-4.2# vi webserver-service.yaml
id: "webserver-service"
kind: "Service"
apiVersion: "v1beta1"
port: 80
publicIPs:
- 172.25.0.10
selector:
name: "webserver"
labels:
name: "webserver"
-bash-4.2# kubectl create -f webserver-service.yaml
-bash-4.2# curl -O http://cla***oom.example.com/materials/templates/db-service.yaml
-bash-4.2# vi db-service.yaml
id: "db-service"
kind: "Service"
apiVersion: "v1beta1"
port: 3306
selector:
name: "db"
labels:
name: "db"
-bash-4.2# kubectl create -f db-service.yaml
-bash-4.2# kubectl get services
-bash-4.2# curl -O http://cla***oom.example.com/materials/templates/webserver-pod.yaml
-bash-4.2# vi webserver-pod.yaml
id: "webserver"
kind: "Pod"
apiVersion: "v1beta1"
desiredState:
manifest:
version: "v1beta1"
containers:
name: "apache-frontend" image: "rhel7:webserver"
ports:
containerPort: 80 hostPort: 80
labels:
name: "webserver"
-bash-4.2# kubectl create -f webserver-pod.yaml
-bash-4.2# curl -O http://cla***oom.example.com/materials/templates/db-pod.yaml
-bash-4.2# vi db-pod.yaml
id: "db"
kind: "Pod"
apiVersion: "v1beta1"
desiredState:
manifest:
version: "v1beta1"
containers:
name: "mariadb" image: "rhel7:db"
ports:
containerPort: 3306 labels:
name: "db"
-bash-4.2# kubectl create -f db-pod.yaml
-bash-4.2# kubectl get pods
-bash-4.2# hostname
servera.pod0.example.com
-bash-4.2# docker ps
[root@workstation ~]# curl http://servera.pod0.example.com/cgi-bin/action
-bash-4.2# hostname
serverc.pod0.example.com
-bash-4.2# kubectl delete services
-bash-4.2# kubectl delete pods
-bash-4.2# hostname
serverc.pod0.example.com
-bash-4.2# vi /etc/kubernetes/controller-manager
KUBELET_ADDRESSES="--machines=servera.pod0.example.com,serverb.pod0.example.com"
-bash-4.2# for service in etcd kube-apiserver kube-controller-manager kube-scheduler
do
systemctl restart $service
systemctl enable $service
systemctl status $service
done
-bash-4.2# hostname
serverb.pod0.example.com
-bash-4.2# cd /var/tmp/
-bash-4.2# curl -O http://cla***oom.example.com/materials/docker-images/webserver.tar.xz
-bash-4.2# curl -O http://cla***oom.example.com/materials/docker-images/db.tar.xz
-bash-4.2# docker load -i webserver.tar.xz
-bash-4.2# docker load -i db.tar.xz
-bash-4.2# vi /etc/kubernetes/config
#KUBE_ETCD_SERVERS="--etcd_servers=http://127.0.0.1:4001"
KUBE_MASTER="--master=http://serverc.pod0.example.com:8080"
-bash-4.2# vi /etc/kubernetes/kubelet
KUBELET_ADDRESS="--address=0.0.0.0"
KUBELET_HOSTNAME="--hostname_override=serverb.pod0.example.com"
KUBELET_ARGS="--auth_path=/var/lib/kubelet/auth"
KUBE_ETCD_SERVERS="--api_servers=http://serverc.pod0.example.com:8080"
-bash-4.2# vi /etc/kubernetes/proxy
KUBE_PROXY_ARGS="--master=http://serverc.pod0.example.com:8080"
-bash-4.2# echo "{}" > /var/lib/kubelet/auth
-bash-4.2# for service in docker kube-proxy kubelet
do
systemctl restart $service
systemctl enable $service
systemctl status $service
done
-bash-4.2# hostname
serverc.pod0.example.com
-bash-4.2# kubectl get minions
-bash-4.2# hostname
servera.pod0.example.com
-bash-4.2# systemctl status kubelet
-bash-4.2# hostname
serverb.pod0.example.com
-bash-4.2# systemctl status kubelet
servera|serverb|serverc|#rpm -q flannel
-bash-4.2# hostname
serverc.pod0.example.com
-bash-4.2# vi flannel-config.json
{
"Network":"10.50.0.0/16",
"SubnetLen":24,
"Backend":{
"Type":"vxlan",
"VNI":1
}
}
-bash-4.2# curl -L http://serverc.pod0.example.com:4001/v2/keys/coreos.com/network/config -XPUT --data-urlencode value@flannel-config.json
-bash-4.2# curl -L http://serverc.pod0.example.com:4001/v2/keys/coreos.com/network/config
-bash-4.2# vi /etc/sysconfig/flanneld
FLANNEL_ETCD="http://172.25.0.12:4001"
FLANNEL_OPTIONS="eth0"
-bash-4.2# systemctl restart flanneld
-bash-4.2# systemctl enable flanneld
-bash-4.2# systemctl status flanneld
-bash-4.2# ip link show flannel.1
-bash-4.2# hostname
servera.pod0.example.com
-bash-4.2# vi /etc/sysconfig/flanneld
FLANNEL_ETCD="http://172.25.0.12:4001"
FLANNEL_OPTIONS="eth0"
-bash-4.2# hostname
serverb.pod0.example.com
-bash-4.2# vi /etc/sysconfig/flanneld
FLANNEL_ETCD="http://172.25.0.12:4001"
FLANNEL_OPTIONS="eth0"
servera and serverb exec blow
-bash-4.2# systemctl restart flanneld
-bash-4.2# systemctl enable flanneld
-bash-4.2# systemctl status flanneld
-bash-4.2# curl -L http://serverc.pod0.example.com:4001/v2/keys/coreos.com/network/subnets | python -mjson.tool
-bash-4.2# hostname
serverc.pod0.example.com
-bash-4.2# kubectl create -f webserver-service.yaml
-bash-4.2# kubectl create -f db-service.yaml
-bash-4.2# curl -O http://cla***oom.example.com/materials/templates/webserver-rc.yaml
-bash-4.2# vi webserver-rc.yaml
id: "webserver-controller"
kind: "ReplicationController"
apiVersion: "v1beta1"
desiredState:
replicas: 1
replicaSelector:
selectorname: "webserver"
podTemplate:
desiredState:
manifest:
version: "v1beta1"
containers:
name: "apache-frontend" image: "rhel7:webserver"
ports:
containerPort: 80 hostPort: 80
labels:
name: "webserver"
selectorname: "webserver"
uses: "db"
labels:
name: "webserver-controller"
-bash-4.2# kubectl create -f webserver-rc.yaml
-bash-4.2# curl -O http://cla***oom.example.com/materials/templates/db-rc.yaml
id: "db-controller"
kind: "ReplicationController"
apiVersion: "v1beta1"
desiredState:
replicas: 1
replicaSelector:
selectorname: "db"
podTemplate:
desiredState:
manifest:
version: "v1beta1"
containers:
name: "mariadb" image: "rhel7:db"
ports:
containerPort: 3306 labels:
name: "db"
selectorname: "db"
labels:
name: "db-controller"
-bash-4.2# kubectl create -f db-rc.yaml
[root@workstation ~]# curl http://servera.pod0.example.com/cgi-bin/action
modify webserver-rc.yaml and increase the replicas count to 2
kubectl update -f webserver-rc.yaml
kubectl describe po POD_ID
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com