certbot

申請wildcard憑證

透過docker執行以下指令
-d 指定網域
-m 指定申請人email
-v 把/etc/letsencrypt的資料對應到本機硬碟

1
2
3
4
5
6
docker run -it --rm -v /d/certs:/etc/letsencrypt certbot/certbot \
certonly --manual \
--preferred-challenges dns \
--server https://acme-v02.api.letsencrypt.org/directory \
-d *.developer.idv.tw \
-m [email protected]

同意申請

同意申請

是否接受郵件通知

是否接受郵件通知

是否登錄申請IP

是否登錄申請IP

設定網域TXT

設定網域TXT

確認網域TXT已生效

確認網域TXT已生效

完成憑證申請

完成憑證申請

憑證位置

在archive資料夾下面
憑證位置

轉換憑證格式

打開SSL Convert
選擇cert1.pem和privkey1.pem和chain1.pem
轉成pfx格式

kubeadm install

在ubuntu 16.04上安裝kubeadm

1
2
3
4
5
6
7
apt-get update && apt-get install -y apt-transport-https curl
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl

初始化K8S叢集

1
2
3
4
5
6
7
8
9
10
11
12
13
14
swapoff -a
kubeadm init --pod-network-cidr=10.244.0.0/16 --kubernetes-version=v1.10.0
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.10.0/Documentation/kube-flannel.yml

# 生成client-certificate-data
grep 'client-certificate-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.crt

# 生成client-key-data
grep 'client-key-data' ~/.kube/config | head -n 1 | awk '{print $2}' | base64 -d >> kubecfg.key

# 生成p12
openssl pkcs12 -export -clcerts -inkey kubecfg.key -in kubecfg.crt -out kubecfg.p12 -name "kubernetes-client"

https://<master-ip>:<apiserver-port>/api/v1/namespaces/kube-system/services/https:kubernetes-dashboard:/proxy/

docker container

建立一個新容器

1
$sudo docker create redis:3.2.10

啟動容器

1
$sudo docker start <guid>

建立並啟動容器

1
$sudo docker run redis:3.2.10

查詢本機容器

1
$sudo docker ps -a

對應本機port

1
$sudo docker run -p 6379:6379 redis:3.2.10

對應本機硬碟

1
$sudo docker run -v /d/redis:/data redis:3.2.10

附加容器執行緒

1
$sudo docker attach <guid>

執行容器命令

1
$sudo docker exec -it <guid> bash

查詢容器資訊

1
$sudo docker inspect <guid>

暫停容器

1
$sudo docker pause <guid>

停止容器

1
$sudo docker stop <guid>

強制關閉容器

1
$sudo docker kill <guid>

刪除容器

1
$sudo rm <guid>

docker images

查詢docker hub上的images

1
$sudo docker search redis

查詢目前電腦的images

1
$sudo docker images

拉取images

1
$sudo docker pull redis:3.2.10

更名images

1
$sudo docker tag redis:3.2.10 myredis:1.2.3

在本機commit新版本

1
$sudo docker commit -m "commit my redis"

查詢commit記錄

1
$sudo docker history redis:3.2.10

images存成檔案

1
$sudo docker save redis:3.2.10 -o redis.tar

檔案匯入images

1
$sudo docker load -i redis.tar

刪除images

1
$sudo docker rmi redis:3.2.10

登入Registry

1
$sudo docker login

登出Registry

1
$sudo docker logout

從Dockerfile編譯images

1
$sudo docker build -t ImageName:tag .

docker command

docker指令示意圖

docker指令示意圖

檢查版本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
$ sudo docker version

Client:
Version: 1.13.1
API version: 1.26
Go version: go1.6.2
Git commit: 092cba3
Built: Thu Nov 2 20:40:23 2017
OS/Arch: linux/amd64

Server:
Version: 1.13.1
API version: 1.26 (minimum version 1.12)
Go version: go1.6.2
Git commit: 092cba3
Built: Thu Nov 2 20:40:23 2017
OS/Arch: linux/amd64
Experimental: false

Info

1
$sudo docker info

events

1
$sudo docker events

install docker on linux

安裝預設版本

1
2
3
$ sudo apt-get update
$ sudo apt-get upgrade -y
$ sudo apt-get install docker.io -y

移除docker

1
2
3
$ sudo apt-get remove docker docker-engine docker.io -y
$ sudo apt-get autoremove -y
$ sudo apt-get purge -y

安裝Android Studio

安裝Android Studio影片

下載安裝程式

點擊安裝程式

設定安裝程式

接受授權絛約

選擇安裝路徑

選擇安裝名稱

開始安裝

安裝完成

選擇初始化選項

開始初始化

設定初始化

完成初始化設定

下載元件

完成元件安裝

啟動Android Studio

安裝JAVA JDK

安裝JAVA SDK影片

下載安裝程式

點擊安裝程式

選擇要安裝的功能

開始安裝JDK

選擇執行環境資料夾

開始安裝執行環境

安裝完成